调用不访问已删除对象中的任何类成员的类方法是否安全
Is it safe to call a class method which does not access any of the class members from a deleted object?
我知道从已删除的对象调用方法(访问任何类成员(是未定义的行为,但我想知道对于不访问任何类成员的方法是否也是如此。
在非活动对象(源或标准中的 [basic.life](上调用非静态成员函数是未定义的行为。
鉴于:
struct MyType {
int answer() const {
return 42;
}
};
如果你有一个死MyType foo
,foo.answer()
是未定义的行为。
相关文章:
- 将函数类成员映射到类本身内部
- 将Ref对象作为类成员
- 如何使用基类指针引用派生类成员
- g++ 在某个类成员未初始化时不发出警告
- 是否可以同时声明一个类成员的常量/非常量?
- 将自由函数绑定为类成员函数
- uninit_member:非静态类成员m_wszParams未在此构造函数中初始化,也不在它C++中调用的任何函数中初
- 调用不访问已删除对象中的任何类成员的类方法是否安全
- 没有任何数据成员的类会导致内存泄漏吗?
- 在C++中,如何使用将保存从基类派生的任何对象的类成员
- 是否可以编写C++基类成员函数来实例化从中调用它的任何派生类?
- 将pthread_mutex_t和pthread_cond_t作为类成员静态变量的任何缺点
- 泛型函数,可以接受参数 C++ 中的任何类成员
- 当我们对没有任何数据成员的类的对象使用sizeof运算符时.那么输出会是什么
- 在c++ 11中,当类没有任何构造函数时,自动生成类成员函数
- 模板类成员?如何适当地实现此行为,因为没有任何行为?
- 将任何类成员函数作为参数传递
- 防止程序员使用任何技巧来访问私有类成员
- 将任何类的任何成员函数作为回调函数传递
- 初始化const类成员,错误:声明没有声明任何内容