我在構造函數或類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