问个基础问题

老白猫 2012-04-26 03:05:30

class TCC : public TObject
{
public:
int a;
int b;
int c;
int d;
int e;
int abcde;
};

在多处地方 循环new了对象并使用:

TCC * CC = new TCC; // 没new出来的一个都绑定在相应能绑定对象的地方


求解,是不是当程序关闭是要释放啊,怎么释放? 都说用析构函数 怎么弄的? 是在类定义里面写上构造函数和析构函数? 是怎么写的呢 .. 然后最后的释放是怎么释放的? 代码是什么? delete ..?? 应为有许多个实例,是不是要用相应的循环给对应的释放掉?? 基础不是太明白 谢谢指点!

...全文
88 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanxeger 2012-04-26
  • 打赏
  • 举报
回复
其实,在你关闭程序的时候,编译器就会自动给你释放了内存,不过可能会存在野指针,最好还是一个指针不用了就当场释放掉吧!
老白猫 2012-04-26
  • 打赏
  • 举报
回复
不需要.. 我最后delete的时候提示错误说 找不到 CC的定义 undefined symbol ‘CC’ 所以就不明白哪里释放啊 在某当前函数里前面new 结束释放,在外面就无法使用啊
Red_angelX 2012-04-26
  • 打赏
  • 举报
回复
你不在需要CC的时候就可以delete了
老白猫 2012-04-26
  • 打赏
  • 举报
回复
就是new出来的对象在何时何地释放呢? 每次new的对象在整个程序运行期间都要使用的 new了许多对象,而且还绑定在不同的地方,每个地方都有好几个对象 ...
老白猫 2012-04-26
  • 打赏
  • 举报
回复
就是写了delete CC 后 就默认的调用析构给释放掉了是吧
然后每mew出来的一个对象实例都绑定在其他的地方 , 这个new就像一个桥梁作用 一旦绑定完就可以释放掉了,而原本实例的具体数据都以及绑在其他地方了,可以随便使用的 我的理解对不对??
具体程序彻底结束时再释放那些绑定上的数据... 是这样吗
碎炎 2012-04-26
  • 打赏
  • 举报
回复
每个new出来的都要delete

而且你继承的基类的析构必须为virtual
evencoming 2012-04-26
  • 打赏
  • 举报
回复
delete CC就可以了.
释放一般是指申请的资源,如 new的内存,在析构的时候 delete

64,652

社区成员

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

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