3

我在构造函数或类中有一些有用的代码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();
4

1 回答 1

12

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

于 2013-04-18T01:08:57.327 回答