在 C++ 中,sizeof
是一個運算符,用于計算數(shù)據(jù)類型或?qū)ο笏加玫膬?nèi)存大?。ㄒ宰止?jié)為單位)。對于指針類型,sizeof
返回的是指針本身所占用的內(nèi)存大小,而不是指針所指向的數(shù)據(jù)類型的大小。
在 32 位系統(tǒng)中,所有類型的指針都占用 4 個字節(jié)(32 位)的內(nèi)存空間。在 64 位系統(tǒng)中,所有類型的指針都占用 8 個字節(jié)(64 位)的內(nèi)存空間。因此,sizeof
指針返回的結(jié)果是固定的,與指針所指向的具體數(shù)據(jù)類型無關(guān)。
例如:
int *p;
std::cout << "Size of pointer: " << sizeof(p) << " byte(s)" << std::endl;
輸出結(jié)果將是:
Size of pointer: 8 byte(s)
注意:這里的示例代碼中,sizeof(p)
返回的是指針 p
本身所占用的內(nèi)存大小,而不是 int
類型所占用的內(nèi)存大小。