C ++:避免​​优化变量

时间:2013-04-18 01:06:03

标签: c++

我在构造函数或类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();

1 个答案:

答案 0 :(得分:12)

如果构造函数或析构函数具有可观察行为,则编译器不允许优化它。所以没有必要做任何棘手的事情。