c++ primer 讀書筆記

2.基本內(nèi)置類型

  • 帶符號數(shù)與無符號數(shù)操作時,會變成無符號數(shù)。如,-1會變成255
  • 定義于函數(shù)體內(nèi)的內(nèi)置類型的對象如果沒有初始化,則其值未定義。在函數(shù)體外默認(rèn)是0。類的對象如果沒有顯示初始化,其值由類確定。
const int *p=nullptr;//p是一個指向整形常量的指針
constexpr int *q=nullptr;//q是一個指向整形的常量指針

typedef char *ps;
const ps cstr=0;//常量指針
const ps *p;//指向常量指針
//不能把別名帶入理解,是錯誤的
  • auto會忽略頂層const,底層const會保留。auto賦值等號右邊是一個引用時,auto類型是沒有引用的。
  • decltype返回操作數(shù)的數(shù)據(jù)類型。如果表達(dá)式是一個變量,會返回變量的類型(包括const和引用),如果表達(dá)式內(nèi)容是解引用操作,會得到引用類型;如果是加了括號的表達(dá)式,會得到引用

3.字符串、向量和數(shù)組

  • 不能把字面值直接相加
  • 使用數(shù)組作為一個auto變量的初始值時,推斷得到的類型是指針而非數(shù)組
  • 用for語句處理多維數(shù)組時,除了最內(nèi)層的循環(huán)外,其他所有的控制變量都應(yīng)該是引用類型

4.表達(dá)式

  • static_cast:只要不包含底層const,都可以用來類型轉(zhuǎn)化
  • const_cast: 只能改變對象的底層const性質(zhì)(去掉或增加)
  • reinterpret_cast:強(qiáng)制轉(zhuǎn)化,很危險

6.函數(shù)

  • 當(dāng)用實(shí)參初始化形參時會忽略掉頂層const。形參的頂級const被忽略了。而底層const不會被忽略。
  • 如果形參數(shù)量未知,但類型相同,可以用標(biāo)準(zhǔn)庫的initializer_list類型的形參,這是一個模板類型。
  • 調(diào)用一個返回引用的函數(shù)得到左值,其他類型得到右值。如果返回類型是常量引用,則不能給結(jié)果賦值。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容