cpp中sizeof的總結

2021-10-02 09:43:41 字數 822 閱讀 8674

測量普通變數

被測量value

char

1short

2int

4double8陣列

陣列內容個數+1(結尾有「\0」)

傳入函式的陣列

4,是乙個指標,指向這個陣列

測量類物件

被測量value空1

char

1,位元組對齊

short

2,位元組對齊

int4,位元組對齊

double

8,位元組對齊

普通函式

不佔位元組

幾個虛函式

有乙個指向虛函式表的指標,只占用乙個指標,32位機器是4

靜態成員變數

不佔位元組,共享同乙個靜態儲存區,不在每乙個例項中

一次虛擬繼承

4,指向父類指標

測量聯合體union

兩點原則:

1. 等於占用空間最大的乙個成員的大小;

2. 最大值需要位元組對齊,等於最小成員的倍數

被測量value空1

char

1char[13]

13short

2int

4,位元組對齊,安照union裡面最小位元組的倍數來對齊。

double

8,位元組對齊,安裝union裡面最小位元組的倍數來對齊。

參考推薦

參考來自《c++程式設計師面試秘笈》面試題13到面試題20。

關於計算機記憶體什麼是**區、常量區、靜態區(全域性區)、堆區、棧區,很好的乙個部落格推薦:

C 中sizeof用法總結

1.sizeof 簡介 sizeof是乙個關鍵字,不是乙個函式,其作用是返回乙個物件或者型別所佔的記憶體位元組數。msdn上的解釋為 the sizeof keyword gives the amount of storage,in bytes,associated with a variable ...

CPP複習總結

1.cstringstrstr strlwr strupr 2.呼叫複製建構函式的幾種情況 乙個新物件被另乙個已經存在的同型別物件用以初始化 當乙個物件作為實參傳遞給函式形參時要呼叫複製建構函式,函式返回時自動呼叫其析構函式 在函式返回乙個物件時呼叫複製建構函式。3.靜態資料成員初始化 資料型別 類...

sizeof使用中的幾個誤區總結

例如 char ss2 0123456789 sizeof ss2 結果為11,而不是10 字元陣列ss2中包含隱含的 0 也算乙個字元,佔乙個位元組,所以ss2的總的大小為11位元組。結構體的sizeof涉及到位元組對齊問題。為什麼需要位元組對齊?計算機組成原理教導我們這樣有助於加快計算機的取數速...