1. C++提供了幾種字符類型
char<字符>可以存放機器基本字符集中的任意字符對應的數字值
wchar_t<寬字符>可以存放機器最大擴展字符集中的任意一字符
char16_t和char32_t是Unicode字符,用于表示所有自然語言中字符的標準
2. 字符型分為char, signed char, unsigned char.
char和signed char并不一樣,char由編譯器決定表現為有符號還是無符號。因此不要用char做算術運算,要明確指定signed char或者unsigned char
3. 當表達式里既有帶符號類型又有無符號類型時,帶符號類型會自動轉換成無符號類型
4. 以0開頭的整數代表八進制數,以0x開頭的整數代表16進制數
例如表示20: 20, 024, 0x14
5. /x后跟一個或多個十六進制數,或者/后跟1個,2個或3個八進制數字,其中數字部分表示的是字符對應的數值
如字符M對應77, char c=77, /x4d, /115均為字符M
6.const對象必須初始化
const對象被設定為僅在文件內有效(編譯器進行替換,因此文件內必須有定義),如果想在多個文件之間共享const對象,必須在變量的定義之前添加extern關鍵字
引用必須在定義時用一個對象進行初始化,初始化之后兩者就綁定在了一起,以后也不能修改這樣的綁定關系。
7. 初始化常量引用時,允許用任意表達式作為初始值,只要表達式的結果能轉換成引用的類型即可。
8. 指向常量的指針可以指向一個非常量對象,然后想要存放常量對象的地址,只能使用指向常量的指針。
9. 常量指針必須初始化
const int *p; //指向常整型的指針P,底層constconst int* const p; //指向常整型的常指針P,必須初始化int* const p; // 指向整型的常指針P,必須初始化10. 用于聲明引用的const是底層const指針類型的const可以是頂層也可以是底層
其他類型的const都是頂層const
11. 認定一個變量是一個常量表達式的話,就把它聲明為constexPR類型
12. 當typedef遇上const
typedef char *pstring; //pstring是指向char的指針const pstring cstr = 0; // cstr是指向char的常量指針const pstring *ps; // ps是指向char常量指針的指針13. auto類型必須有初始值,且一條語句聲明的多個變量的初始類型必須一樣。14. decltype返回操作數的數據類型
decltype((var))的結果永遠是引用,而decltype(var)只有當 var是引用時結果才是引用。
15. 當表達式的結果對象能作為一條賦值語句的左值時,decltype返回一個引用類型。
新聞熱點
疑難解答
圖片精選