File : pointer-release.h
Type : c/c++
Brief : pointer release
class Test
{
public:
Test():m_pint(nullptr){}
~Test(){if(m_pint) delete m_pint;}
void start()
{
m_pint = new int[10];
}
void stop()
{
if(m_pint)
delete m_pint;
m_pint = nullptr; // 一定要再次赋值为nullptr,
// delelte只是释放内存,但指针m_pint的值不会改变
// 不赋值为nullptr,析构时可能出问题
}
private:
int* m_pint;
};
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [ yehuohan@gmail.com ]