社区
C++ 语言
帖子详情
vc6.0
不调用析构函数,换成
就好了,为什么?
pro21ms4
2009-09-23 07:58:00
深入汇出第二版, 第3章的 Frame1
...全文
109
10
打赏
收藏
vc6.0 <iostream>不调用析构函数,换成 <iostream.h>就好了,为什么?
深入汇出第二版, 第3章的 Frame1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 先于你的对象析构, 执行析构的时候木显示出来啥而已。。。
猫已经找不回了
2009-09-23
打赏
举报
回复
代码,编译器,都贴出来。/
zgjxwl
2009-09-23
打赏
举报
回复
o?
aizibion
2009-09-23
打赏
举报
回复
听说得,】
iostream.h不是c++标准
iostream才是
lsm164
2009-09-23
打赏
举报
回复
据说vc6对stl的支持不是很好,不知道是不是跟这个相关。
建议楼主换vs2005或2008吧,这样就不用考虑编译器bug的问题了。
构造、
析构函数
的
调用
顺序及
VC6.0
和VC2010中实现的差别
构造、
析构函数
的
调用
顺序及
VC6.0
和VC2010中实现的差别
VC6.0
和VC2010在初始化数组的时候存在差别:对于 vector ibvec( 3 ); 在6.0中这条语句是先利用默认构造函数创建一个临时对象,然后三次
调用
复制构造函数,将此临时对象赋给数组中的值,再
调用
析构函数
撤销临时对象; 在2010中,这条句是先利用默认构造函数创建一个临时对象,然后
调用
C++ virtual
析构函数
copy自:http://zxjgoodboy.blog.sohu.com/61482463.html
在此基础上稍作修改
C++中虚
析构函数
的作用
我们知道,用C++开发的时候,用来做基类的类的
析构函数
一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:
有下面的两个类:
#include <
iostream
> using namespace std; class ClxBase { public:
VC6.0
上编译的程序使用不
调用
全局对象的
析构函数
编译环境如下
编译器:VC 6.0
操作系统:Window 7
测试代码一:
#include <
iostream
> #include
using namespace std; class CDemo { public: CDemo(const char* str); ~CDemo(); private: char name[20]; }; CDemo::CDemo(const c
VC 6.0下
析构函数
的奇怪现象
先将以下代码跑一遍,完了以后再将
析构函数
的注释去掉,再跑一遍,发现不会
调用
拷贝函数了。#include <
iostream
.h> class ra{ public: ra(int temp = 0); ra(const ra& c); friend const ra operator*(const ra& c,...
一个小栗子理解exit(1)与
调用
析构函数
的关系
编译环境:
vc6.0
#include #include class Sample { int i ; public: int j; Sample (int x) { i=x ; } ~Sample() { cout } }; void main() { Sample a1(10) , a2(20); exit(1) ; cout } 可以发现运行上述函
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章