chu*_*tar 1 c++ pointers scope
只是想知道,如果我静态创建一个指针作为数据成员的对象,然后对象超出范围,指针会发生什么?Chuma的
Mar*_*som 12
根本没有指针发生任何事情,它就不复存在了.如果它指向需要释放的东西,那么你就会遇到内存泄漏.
要么将代码添加到执行正确清理指针的析构函数中,要么使用"智能指针"自动清理它们.
编辑:如果你真的想要创建一个静态对象,通过static在函数内部用关键字声明它,那么答案是不同的.静态对象一旦通过第一次执行声明它的函数构造,就会继续存在直到程序结束.其数据成员(包括指针)仍然有效.对函数的后续调用将访问同一对象.如果对象已分配任何内存,它将保持分配状态,除非显式删除它.
static
归档时间:
16 年 前
查看次数:
342 次
最近记录: