我在构造函数或类Valuable中有一些有用的代码。我想确定它是在submain之前执行的。我如何保证它没有被优化?

int main()
{
    // Dear compiler, please don't optimize ctor call out!
    Valuable var;

    return submain();
}

局部变量够吗?我需要使用static吗?
static Valuable *v = new Valuable();
delete v;
v = NULL;

我可以缩短一个类轮吗?
delete new Valuable();

最佳答案

如果您的构造函数或析构函数具有可观察到的行为,则编译器的不允许对其进行优化。因此,无需做任何棘手的事情。

09-06 23:01