调用不从已删除对象访问任何类成员的类方法是否安全?

时间:2019-03-22 17:50:30

标签: c++

我知道从已删除的对象调用方法(访问任何类成员)是未定义的行为,但是我想知道对于不访问任何类成员的方法是否同样如此。

1 个答案:

答案 0 :(得分:2)

在不活动的对象(标准中为source[basic.life])上调用非静态成员函数是不确定的行为。

给出:

struct MyType {
    int answer() const {
        return 42;
    }
};

如果MyType foo死亡,则foo.answer()是未定义的行为。