在 C++ 中,sizeof
是一个运算符,用于计算数据类型或对象所占用的内存大小(以字节为单位)。对于指针类型,sizeof
返回的是指针本身所占用的内存大小,而不是指针所指向的数据类型的大小。
在 32 位系统中,所有类型的指针都占用 4 个字节(32 位)的内存空间。在 64 位系统中,所有类型的指针都占用 8 个字节(64 位)的内存空间。因此,sizeof
指针返回的结果是固定的,与指针所指向的具体数据类型无关。
例如:
int *p;
std::cout << "Size of pointer: " << sizeof(p) << " byte(s)" << std::endl;
输出结果将是:
Size of pointer: 8 byte(s)
注意:这里的示例代码中,sizeof(p)
返回的是指针 p
本身所占用的内存大小,而不是 int
类型所占用的内存大小。