我想知道为什么即使我们将指针分配给 NULL,指针指向的对象的大小也不是零。有人能解释一下吗?
在 g++ 4.8,ubuntu 14.04 上编译
Foo * foo=NULL;
cout<<"Size of pointed object of foo:"<<sizeof(*foo)<<endl; //why it is not zero
最佳答案
sizeof
是一个 compile time指示。因此,没有运行时检查来查看指针是否实际指向真实对象。根本不检查指针。该指令由编译器替换为类型的字节大小,在您的情况下为 Foo
。
关于c++ - 为什么即使我们将指针分配给 NULL,指针指向的对象的大小也不为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57177892/