我有几个关于指针的问题。第一的:
ObjectType *p;
p->writeSomething();
为什么可以在指针尚未初始化的情况下调用对象上的方法?如果我运行该代码,我会从控制台窗口中的“writeSomething()”获得输出。第二:
ObjectType *p;
if(p==NULL)
cout<<"Null pointer";//This is printed out
p = new ObjectType;
delete p;
if(p==NULL)
cout<<"Null pointer";
else
cout<<"Pointer is not null";//This is printed out
为什么第二个 if 语句中的指针不是 null 以及如何检查指针是否未指向任何内存地址?我还想知道是否有任何方法可以检查程序执行完成时是否有一些内存没有被释放。例如,如果您忘记在代码中编写 1 个删除语句。