原创 C++中枚舉類型的用法

例:口袋中有紅,黃,藍,白,黑,五中顏色的球,每次從口袋中先後取出3個球,問得到的三種不同的球的不同的顏色球的取法,輸出每種取法 void TestEnum() { //測試枚舉類型的用法 enum color{red,yellow,

原创 安全的進行new 操作

我們都知道,使用 malloc/calloc 等分配內存的函數時,一定要檢查其返回值是否爲“空指針”(亦即檢查分配內存的操作是否成功),這是良好的編程習慣,也是編寫可靠程序所必需的。但是,如果你簡單地把這一招應用到 new 上,那可就不一

原创 動態內存的分配,包括 new delete malloc realloc free,一維數組和二維數組

malloc 和 realloc 一維數組 int n = 10; int *d =NULL; try { d = (int*)malloc(sizeof(int)*n); } catch(bad_alloc &exp) {

原创 條件編譯 ifndef/define/endif作用和用法

感覺寫的很好,留在這裏做備份 問題:ifndef/define/endif”主要目的是防止頭文件的重複包含和編譯,偶只知道這個概念不懂的是怎麼個用法,和爲什麼要用它~~高手請指點一下~~謝謝~~~!!! ---------------

原创 Http 協議詳解

轉自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言                                   

原创 C++ 類型轉換

C風格的強制類型轉換(Type Cast)很簡單,不管什麼類型的轉換統統是: TYPE b = (TYPE)a。 C++風格的類型轉換提供了4種類型轉換操作符來應對不同場合的應用。 const_cast,字面上理解就是去const屬性

原创 C++各種指針所佔字節數是一樣的

在C++中各種類型的指針的所佔的字節數是一樣的,如 int , float  double  對象指針等void testPointerSize() { int a=1; int *p1=&a; c

原创 C程序編譯執行過程(轉載)

C程序編譯執行過程   認識C編譯執行過程,是C學習的開端。 簡單說C語言從編碼編譯到執行要經歷一下過程:   C源代碼 編譯---->形成目標代碼,目標代碼是在目標機器上運行的代碼。 連接---->將目標代碼與C函數庫相連接,並將源程序

原创 C++對內存和棧內存詳解

一個C/C++編譯的程序主要分爲以下幾個部分: 棧區:這部分內存有編譯系統操作,主要存放函數參數的值,局部變量的值,操作方式類似於數據結構中的棧,但是數量有限。堆區: 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由 OS 回收