在VC中:int i=3;
int j=(++I)+(++i)+(++i);
cout<<j<<endl;debug和release模式的结果是不一样的。你从没有怀疑过microsoft?
如果没有,请从现在开始。我还没看你的代码。
int j=(++I)+(++i)+(++i);
cout<<j<<endl;debug和release模式的结果是不一样的。你从没有怀疑过microsoft?
如果没有,请从现在开始。我还没看你的代码。
解决方案 »
- 帮写几行代码,关于使用 CWnd::XcrollWindow 的
- 如何做像vs2010的可以浮动的窗口
- CTreeCtrl的OnSelchangedTree1和OnSelchangingTree1
- 类似QQ2009的群管理的那个控件是怎么做的,有谁知道
- *.txt数据导入Oracle数据库
- 请教:TRACE宏的输出到哪去看啊?
- 关于CListCtrl的应用
- 用COPYSELF自身复制,不知道复制到那个路径,怎么 作
- 请问这么写,什么地方错了呢?
- 请问 I/O completion ports 问题,请高手解答。
- 载哪儿有关于网卡开发,或是网卡接口的资料,急用,在此先谢谢了。
- 高手们自以为不屑的问题,可是又有哪位高人弄清它了!
代码就是上面的呀,只不过在linux上用G++编译的结果如下:
construct
destruct
destruct
destruct在VC中是这样的结果:
construct
destruct
destruct
为什么?我不相信MS,也不盲目相信LINUX,我相信C++的标准语法.
GCC已经到了第3.0版了,可这个问题还没有解决,但我又觉得搞GCC的那一帮高手应该注意到了这个问题了吧,难道是我们的语法太差吗?
假设要在constructor 和destructor 中进行对动态内存的操作,那可真让人心惊胆颤.
那么你的程序的运行结果就应该和 VC下的运行结果一致的了!
可能VC下默认将编译的优化选项调的比较高(我对VC不太熟悉)
想必 VC下也有一个选项可以让你来控制编译的优化程度吧!
我试过了,还是不行, 但还是要谢谢你!!!我给你分.