to sjinny:
你说的让gc猜测并不成立。即使在支持GC的情况下,你也可以让某个对象在出了scope以后立即析构的。过去的语言不支持这样做,只是因为它们不支持,不是GC的错。C++/CLI应该就支持这一点。
关于你说的,“至于那些优化,如果会损及语义,那么很可能是不合算的。”这要看你怎么定义语义了。
代码:
//code 1
for( int i = 0; i < 10000; ++i )
GetTickCount();
//code 2
for( int i = 0; i < 10000; ++i )
0;
//code 3
for( int i = 0; i < 10000; ++i )
__asm nop
//code 4
for( int i = 0; i < 10000; ++i )
Sleep( 1 );
能否请你告诉我,你心目中理想的编译器,会怎么优化呢?