我有以下简单的类Foo
:了解析构函数
class Foo {
};
我尝试运行下面的单元测试代码:
Foo* foo = new Foo;
Assert::IsNotNull(foo);
delete foo;
Assert::IsNull(foo); //why is it not null?? I deleted it.
当我删除foo
此对象的内存被释放,因此foo
应该指向nullptr
。
为什么foo
在删除后不为空?
我有以下简单的类Foo
:了解析构函数
class Foo {
};
我尝试运行下面的单元测试代码:
Foo* foo = new Foo;
Assert::IsNotNull(foo);
delete foo;
Assert::IsNull(foo); //why is it not null?? I deleted it.
当我删除foo
此对象的内存被释放,因此foo
应该指向nullptr
。
为什么foo
在删除后不为空?
使用*智能指针*来避免无意的内存泄漏。 –