1.const關鍵字
當我們定義一種變數,不希望改變其值的時候,使用const關鍵字來修飾。即常量。使用的時候一定要注意,定義乙個常量的時候一定要初始化,且只能在初始化的時候賦值,之後不能進行修改。
2.const引用
這個地方經常糾結,這次一定要搞懂。
常量引用不是引用是個常量,而是引用的物件是個常量。檢測常量引用。實際上是對const的引用。
事實上,c++的引用本身就是乙個常量,因為這個引用不能變更引用的物件。常量的引用就是引用的物件的值也不能被改變。
使用方法:
const int a;
const int &a1 = a;//常量引用必須引用常量
3.常量指標&指向常量的指標
常量指標是指指標只能指向初始化的物件,不能更改所指向的物件。
定義:int *const pointer = &a;
指向常量的指標是指指標指向的是乙個常量,不能修改指向物件的值。
定義:const int * pointer = &a;
區分小竅門:看離指標名近的。常量指標const形容指標的。指向常量的指標是形容所指的內容的。
eg:const int * const pointer = &a;前面的是底層const,後面的是頂層const。
4.常量表示式constexpr型別。
c++11的新標準,當不確定乙個常量是否為常量的時候,可以將其定義為constexpr型別,由編譯器自動檢測。
5.型別處理
第一種是typdef關鍵字,定義乙個資料型別。 eg:typdef double hehe
第二種是using hehe = double
6.auto關鍵字
使用auto關鍵字可以自動識別型別。比如乙個表示式返回乙個型別,但是不想管他的返回型別,就可以直接用auto關鍵字來定義乙個臨時變數儲存返回型別。
7.decltype關鍵字
decltype(func())這個的作用是獲得這個func函式的返回型別,但是卻不呼叫這個函式!是的!不呼叫!意思就是說假如這個函式執行了,會返回什麼樣的型別。
c primer讀書筆記(2)
第四章總結 1 不能將乙個陣列賦值給另乙個陣列 2 string是以 0結尾的,char如果沒有特別賦值時,是沒有的,只能是字元陣列,不是字串。3 通過cin輸入的字元中,用空字元 空格 回車 製表符等 來結尾。4 new分配的記憶體一般存在堆 heap 或者自由儲存區中,變數宣告的記憶體一般存在棧...
《c primer》讀書筆記2
筆記的範圍 1.2節 在1.1 節中,作者提出乙個問題並用分而治之和獨步求精的思想給出了解決方案,我在這裡再重複一遍。在學習乙個新東西之前。該從它的思想入手,我的建議是 在讀完第二篇之前最好不要動手上機,這樣做的好處是你可以避免很多莫名其妙的笨問題。關於這點,我會在以後的筆記中試圖證明。在本節中,作...
C primer 讀書筆記
第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...