【发布时间】:2014-10-19 18:16:00
【问题描述】:
我尝试了这个简单的代码,但得到了一个奇怪的结果:
#include <iostream>
class CTest
{
public:
void Function() { std::cout << "CTest::Function()" << std::endl; }
};
int main()
{
CTest *pTest = new CTest;
delete pTest;
pTest = NULL;
pTest->Function();
}
使用 GCC 编译,带有这些参数:g++ -O0 Test.cpp -o Test
当我运行程序时,我得到这个结果:
$ ./Test
CTest::Function()
这怎么可能?
【问题讨论】:
标签: c++