在C++中,sizeof
是一個運算符,用于計算數據類型或對象所占用的內存大?。ㄒ宰止潪閱挝唬?。當你使用sizeof
運算符時,它會返回括號內數據類型或對象的大小。對于指針類型,sizeof
返回的是指針本身所占用的內存大小,而不是它所指向的數據類型的大小。
下面是一個例子來說明sizeof
指針和sizeof
類型的差異:
#include <iostream>
int main() {
int a = 10;
int* p = &a; // p是一個指向int類型的指針
std::cout << "Size of int: " << sizeof(int) << " byte(s)" << std::endl; // 計算int類型的大小
std::cout << "Size of int pointer: " << sizeof(p) << " byte(s)" << std::endl; // 計算int指針類型的大小
return 0;
}
輸出結果:
Size of int: 4 byte(s)
Size of int pointer: 8 byte(s)
在這個例子中,sizeof(int)
返回的是int
類型的大小,即4字節。而sizeof(p)
返回的是指針p
本身所占用的內存大小,即8字節(這取決于你的系統和編譯器)。注意,這里的8字節并不是int
類型的大小,而是指針類型的大小。