第四章 陣列與指標
指標和引用的比較:
使用引用和指標都可間接的訪問另乙個值,但它們之間有兩個重要的區別,第一引用總是指向某乙個物件:定義引用時沒有初始化是錯誤的。第
二、賦值行為的差異:給引用賦值是修改的是該引用所關聯的物件的值,而不是使引用與另外乙個物件關聯。引用一經初始化,就始終指向同乙個特定的物件。舉例:
int ival = 1024, ival2 = 2048;
int *pi = &ival, *pi2 = &ival2;
pi = pi2;
賦值結束後,pi指向的ival物件的值保持不變,賦值結束操作修改了pi指標的值,使其指向另外乙個不同的物件。
int &ri = ival, &ri2 = ival2;
ri = ri2
這個賦值操作改變了ri引用的值,而非引用本身。
c風格字串:
所有c風格字串必須以字串結束符null作為結束,舉例
char str = ; //沒有以null作為結束
coutconst char *pc = "a very long literal string";
const size_t len = strlen(pc);
//performance test an string allocation and copy
for (size_t ix = 0; ix != 1000000; ++ix)
delete pc2; //free the memory
}//c++ string
string str("a very long literal string");
for (size_t ix = 0; ix != 1000000; ++ix)
} //str2 is automatically freed
C primer 讀書筆記
第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...
C Primer讀書筆記
前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...
C Primer讀書筆記
前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...