以下代码(采取from here):
int* ptr = int();
在Visual C++中进行编译,并对值进行初始化。
那怎么可能?我的意思是
int()
产生int
类型的对象,并且我无法将int
分配给指针。上面的代码如何不违法?
最佳答案
int()
是值为0的常量表达式,因此它是产生空指针常量的有效方法。最终,这只是int *ptr = NULL;
的表达方式略有不同
关于c++ - “int* ptr = int()”值初始化如何非法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8067897/