【发布时间】:2017-10-11 19:40:49
【问题描述】:
我的 cpp 文件顶部有这个智能指针(全局变量):
std::unique_ptr<DATA_READ> smartPT(new DATA_READ);
如果智能指针在全局范围内声明会发生什么?我知道函数中的智能指针在函数结束后会自动删除和释放内存,但是在多个函数中使用的全局范围智能指针呢?
【问题讨论】:
-
全局智能指针将在程序结束时释放内存。很像一个非智能、非指针的全局变量。
-
当应用程序退出时它会被破坏 - 更多细节请见this question
-
它的析构函数在 main() 返回后被调用
标签: c++ smart-pointers