我在构造函数或类Valuable
中有一些有用的代码。我想确保它在submain
之前执行。我怎样才能保证它没有被优化出来?C++:避免优化变量
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();
让它变成'volatile'。或者我应该甚至建议..? – 0x499602D2
如果你的构造函数有副作用,那么它将不会被优化,除非它是一个拷贝构造函数,在这里不是这种情况。如果你的构造函数没有副作用,那么你将无法判断它是否被优化了,所以它没有任何区别。 –
你试过挥发? – derpface