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

Is it safe to call a class method which does not access any of the class members from a deleted object?

本文关键字:任何类 成员 是否 安全 类方法 访问 删除 对象 调用      更新时间:2023-10-16

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

在非活动对象(源或标准中的 [basic.life](上调用非静态成员函数是未定义的行为。

鉴于:

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

如果你有一个死MyType foofoo.answer()是未定义的行为。