在本地范围内销毁对象
Destruction of object in local scope
假设我有以下代码:
void foo() {
{
myclass object;
object.do_something();
}
cout<<"hello"<<endl;
}
~myclass()
是否保证在退出本地作用域时调用,或者是否可以在以后(例如函数返回时)调用?
是的,可以保证:
[class.dtor] 析构函数被隐式调用...在创建对象的块退出时具有自动存储持续时间的构造对象。
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 错误:未在此范围内声明'reverse'
- 并行用于C++17中数组索引范围内的循环
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 不计算一个范围内的完美数
- 错误:"imread"未在此范围内声明
- 我在范围内未声明的错误类有问题
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 哪个函数负责C++全局范围内的类对象初始化?
- 全局范围内的对象会导致程序退出时崩溃
- 如何全局创建对象并使用该对象访问全局范围内的公共成员函数
- 范围内临时对象的生存期是多少?
- c++在函数中创建对象的数组需要在全局范围内使用该数组
- 尝试和捕获中的对象声明未在范围内定义
- 在本地范围内销毁对象
- Boost.python 将对象拉取到本地范围内以进行读取访问
- (对象)m_cPoint未在此范围内声明
- 将我的对象声明为 extern 会给出"未在此范围内声明"错误
- 对象构造函数调用未在此范围内声明
- "类实例对象"未在此范围内声明