原创 C++二義性
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 二義性問題 1.在繼承時,基類之間、或基類與派生類之間發生成員同名時,將出現對成員訪問的不確定性——同名二義性。 2.當派生類從多個基類派生,而這些基類又從同一個基類派
原创 排序算法3
1、序言 這是《漫談經典排序算法系列》第三篇,先解析了冒泡排序,然後引出快速排序,給出了快速排序的兩種實現版本。 各種排序算法的解析請參考如下: 《漫談經典排序算法:一、從簡單選擇排序到堆排序的深度解析》 《漫談經典排序算法:二
原创 排序算法5
1、序言 這是《漫談經典排序算法系列》第五篇,給出了三種線性時間排序,分別是計數排序、基數排序、桶排序。 各種排序算法的解析請參考如下: 《漫談經典排序算法:一、從簡單選擇排序到堆排序的深度解析》 《漫談經典排序算法:二、
原创 C++ STL容器之 map
C++ STL容器之 map map 是一種有序無重複的關聯容器。 關聯容器與順序容器不同,他們的元素是按照關鍵字來保存和訪問的,而順序元素是按照它們在容器中的位置保存和訪問的。 map保存的是一種 key - value 的p
原创 c++ list, vector, map, set 區別與用法比較
List封裝了鏈表,Vector封裝了數組, list和vector得最主要的區別在於vector使用連續內存存儲的,他支持[]運算符,而list是以鏈表形式實現的,不支持[]。 Vector對於隨機訪問的速度很快,但是對於插入尤
原创 內存管理
計算存儲的層次結構: 當前技術沒有能夠提供這樣的存儲器,因此大部分的計算機都有一個存儲器層次結構,即少量的非常快速、昂貴、易變的高速緩存(cache);若干兆字節的中等速度、中等價格、易變的主存儲器(RAM);數百兆或數千兆的低速
原创 視頻壓縮1
要實現實時視頻通信,除了需比與其它數據通信(語音,非實時視頻,數據)更高的帶寬外,還需要對視頻信號進行較大的壓縮。網絡帶寬正隨着無線接入技術和有線傳輸技術的發展不斷提升,但即使這樣,如果不對視頻信號進行必要的壓縮,目前用戶的接入帶寬也是
原创 視頻壓縮2
上面一篇文章提到了,視頻壓縮的目的是爲了減少視頻存儲的空間或者視頻傳輸帶寬。既是存儲和帶寬相對廉價的今天,要實現視頻的大容量存儲(如視頻監控)和實時傳輸,沒有視頻壓縮幾乎不可能。 視頻壓縮現狀: 視頻壓縮編碼標準種類繁多,其中
原创 TCP狀態圖解
Tcp狀態機 1、爲什麼建立連接需要三次握手,斷開連接需要四次握手? 舉例來說,C與S要可靠的溝通,溝通之前要又準備工作,溝通完了,要有清理工作。 溝通之前的準備工作 C:我要跟你說話,你注意聽(SYN)
原创 基數排序
編程論到極致,核心非代碼,即思想。 所以,真正的編程高手同時是思想獨到及富有智慧(注意與聰明區別)的人。 每一個算法都是一種智慧的凝聚或萃取,值得我們學習從而提高自己,開拓思路,更重要的是轉換思維角度。 其實,我們大多數人都活在“
原创 strcpy和memcpy
strcpy和memcpy都是標準c庫函數,它們的特點: strcpy提供了字符串的複製,strcpy只用於字符串的複製,不僅複製字符串內容外,還會複製字符串的結束符。 strcpy的函數原型是: char* strcpy(char
原创 TCP/IP協議棧的基本工作原理
TCP/IP是互聯網的核心協議,也是大多數網絡應用的核心協議。就前面一段時間面試中問到的TCP/IP問題,這裏給出一個簡單的小結。 TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2
原创 Vlan劃分及其意義
VLAN是什麼?如何劃分VLAN?如何實現VLAN?VLAN有什麼好處? VLAN可能用到的三層交換技術 1. VLAN是什麼? VLAN是虛擬局域網,是指網絡中的站點不拘泥於所處的物理位置,而可以根據需要靈活地加入不同的邏
原创 TCP狀態轉換圖
TCP正常建立和關閉的狀態變化 TCP連接的建立可以簡單的稱爲三次握手,而連接的中止則可以叫做 四次握手。 建立連接 在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接。 第一
原创 sql之連接
內連接: 只連接匹配的行左外連接: 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行),以及右邊表中全部匹配的行右外連接: 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行),以及左邊表中全部匹配的行全外連接: 包含左、右