vc6.0 不调用析构函数,换成 就好了,为什么?

pro21ms4 2009-09-23 07:58:00
深入汇出第二版, 第3章的 Frame1
...全文
109 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidstack 2009-09-24
  • 打赏
  • 举报
回复
#include<iostream.h>可以代替#include<iostream> using namespace std;
玖伍叁柒 2009-09-23
  • 打赏
  • 举报
回复
vc6很经典,但是有条件的话还是用VS2000+的吧...
zgjxwl 2009-09-23
  • 打赏
  • 举报
回复
全局对象的构造顺序在同一cpp里是有顺序的。。但在多个cpp里的顺序确实是未定义的。

楼主还是代码。。。让俺看看是啥状况。
mLee79 2009-09-23
  • 打赏
  • 举报
回复
全局对象的构造顺序标准未定义,任何依赖这东西的代码都不具备可移植性。。。
包括 ios...h 的时候刚好 cout 等先于你的对象构造,掩盖了这个错误而已。。。
不管在啥编译器上结果对了也不能掩盖这是段烂代码的事实。。。
pro21ms4 2009-09-23
  • 打赏
  • 举报
回复
经测试在2008里用 #inlude <iostream> 没有问题.

5楼的,代码确实有全局对象, 但在vc6为什么换成 #include <iostream.h> 就好了.
mLee79 2009-09-23
  • 打赏
  • 举报
回复
基本上不用看代码就知道是依赖全局对象构造/析构顺序的烂代码。。。
cxxx 先于你的对象析构, 执行析构的时候木显示出来啥而已。。。

  • 打赏
  • 举报
回复
代码,编译器,都贴出来。/
zgjxwl 2009-09-23
  • 打赏
  • 举报
回复
o?
aizibion 2009-09-23
  • 打赏
  • 举报
回复
听说得,】
iostream.h不是c++标准
iostream才是

lsm164 2009-09-23
  • 打赏
  • 举报
回复
据说vc6对stl的支持不是很好,不知道是不是跟这个相关。

建议楼主换vs2005或2008吧,这样就不用考虑编译器bug的问题了。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧