C++primer1-7章知識點總結——sizeof運算子

TinnCHEN發表於2019-02-18

定義:

sizeof運算子返回一條表示式或一個型別名字所佔的位元組數。

sizeof運算子滿足右結合律,其所得的值是一個size_t型別的常量表示式。(size_t型別是一種機器相關的無符號型別,足夠大可以表示記憶體中任意物件的大小)

使用方法:

sizeof (type);
sizeof expr;

注:
sizeof的結果部分依賴於其作用的型別:
1、對char或者型別為char的表示式執行sizeof運算,結果為1;

2、對引用型別執行,得到被引用物件所佔空間大小;

3、對指標執行sizeof運算得到指標本身所佔空間的大小;

4、對解引用指標執行得到指標指向的物件所佔空間的大小,指標不需要有效;

5、對陣列執行得到整個陣列所佔空間的大小,等價於對陣列中所有的元素個執行一次sizeof運算並將得到的結果求和。(sizeof不會將陣列轉化成指標來處理)

6、對string或者vector物件執行sizeof運算只返回該型別固定部分的大小,不會計算物件中的元素佔用了多少的空間。(vector固定長度返回16,string返回28)

相關文章