原创 TCP三次握手和四次揮手的過程

傳輸層協議主要有兩個:TCP協議和UDP協議。這次主要講解TCP協議 使用TCP協議通信的雙方必須寫建立連接,然後才能開始數據的讀寫。雙方都必須爲該連接分配必要的內核資源,以管理連接的狀態和連接上數據的傳輸。TCP連接時全雙工的,即雙方的

原创 指針與引用的區別

1.指針有自己的一塊空間,而引用只是一個別名。 2.使用sizeof看一個指針的大小是4,而引用則是被引用對象的大小。 3.指針可以被初始化爲NULL,而引用必須被初始化且必須是一個已有對象的引用。 4.作爲參數傳遞時,指針需要被解引用纔

原创 折半查找

       折半搜索(英語:half-interval search),也稱二分搜索(英語:binary search)、對數搜索(英語:logarithmic search),是一種在有序數組中查找某一特定元素的搜索算法。      

原创 有關printf輸出08x格式詳解

有關printf("%08x",number)詳解 先來看道題----選自程序員面試寶典 下面程序的輸出結果是多少? #include<stdio.h> int main() { unsigned int a = 0xFFFFFFF7

原创 this指針

      隱含的this指針           每個類成員函數都含有一個指向被調用對象的指針,這個指針被稱爲this。在非const成員函數中,它的類型是指向該類類型的指針:在const成員函數中,是指向const類類型的指針。而在

原创 【c++】String類的寫時拷貝

在學習寫時拷貝前,我們先看一個例子 class String { public: String(char* ptr) { mptr = new char[strlen(ptr) + 1](); //+'\0' strcpy_

原创 【c++】typename關鍵字的使用

1.定義模板類型參數 在c++模板中有兩種定義方法: template<class T>... template<typename T>... 這兩種定義方式有什麼區別呢? 相信學習C++的人對class這個關鍵字都非常明白,class用

原创 static關鍵字的作用

1.全局靜態變量 在全局變量前加上關鍵字static,全局變量就定義爲一個全局靜態變量。 靜態存儲區,在整個程序運行期間一直存在。 初始化:未經初始化的全局靜態變量會被自動初始化爲0(自動對象的值是任意的,除非他被顯式初始化)。 作用域:

原创 【C++】STL迭代器

作者前言:學習迭代器之前,我們要先清楚,什麼是迭代器?迭代器是幹什麼用的?爲什麼要使用迭代器? 迭代器是一個支持指針類型抽象的類對象。提供了一種一般化的方法,對順序或關聯容器類型中的每個元素進行連續訪問。 簡單來說,迭代器就是用來遍歷容

原创 字節對齊

一、概念      對齊跟數據在內存中的位置有關。如果一個變量的內存地址正好位於它長度的整數倍,他就被稱做自然對齊。比如在32位cpu下,假設一個整型變量的地址爲0x00000004,那它就是自然對齊的。 舉例說明: 1. struct

原创 【Linux】fork() 和 vfor()

1.fork fork:創建一個和當前進程映像一樣的進程就可以通過fork()系統調用。其定義如下: #include<sys/types.h> #include<unistd.h> pid_t fork(void); 成功調用fork(

原创 辨析*p++、(*p)++、*(p++) ......

int a[3]={1,2,3}; int *p = a; *p++ 先取指針p指向的值(數組第一個元素1),再將指針p自增1;  cout << *p++; // 結果爲 1  cout <<(*p++); // 1 (*p)++ 先去

原创 各種函數及變量的空間分佈

    int a = 10;        //全局變量,全局區。     class SomeClass     {     private:         int b;    //由使用決定,在main函數中類SomeClass動

原创 gdb調試總結

進入調試: (1)輸入GDB <文件名> (2)輸入GDB ----> file <文件名> l :顯示源代碼(默認顯示main函數所在文件的源代碼)   list <文件名>:num 顯示指定文件指定行附近的源代碼 b : breakp

原创 類和對象 四個默認函數

1.構造函數:初始化對象所佔內存空間(成員變量)   函數名與類名相等,不需要返回值      字符串賦值:需要開闢內存空間    mname = new char [strlen(name) + 1]();//對象在棧上開闢(由系統開闢