游戏开发论坛

 找回密码
 立即注册
搜索
楼主: bluebaby9811

如何保证一个对象最先构造,最后析构?

[复制链接]

1

主题

14

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2009-12-23 19:39:00 | 显示全部楼层

Re: Re: Re:如何保证一个对象最先构造,最后析构?

kaikai: Re: Re:如何保证一个对象最先构造,最后析构?



你这个问题大部分情况下用1楼的方法可以解决。

难道每个new和delete都带一个内存管理对象的参数吗?要知道前提是不改动原来的代码,只是增加新的类来管理内存,重载new和delete运算符。1楼的可以做到吗?1楼的需要带参数,这样就需要修改原来的代码。

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2009-12-23 22:56:00 | 显示全部楼层

Re: Re: Re: Re:如何保证一个对象最先构造,最后析构?

answerear: Re: Re: Re:如何保证一个对象最先构造,最后析构?


难道每个new和delete都带一个内存管理对象的参数吗?要知道前提是不改动原来的代码,只是增加新的类来管理...

抱歉,应该是2楼:)我下意识的以为从第一个回复开始算1楼了...

7

主题

41

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2010-6-21 13:54:00 | 显示全部楼层

Re:如何保证一个对象最先构造,最后析构?

一个Initalizater模式的简单应用,被你搞那么复杂.

class User
{
  struct Supporter;
  static Supporter TheSupporter;
public:
....
};

以上代码可以保证Supporter在User类的对象之前构造,在所有User类的析构之后析构.并且只存在一个该类的对象.(因为Supporter类是User类的私有成员,任务外部函数都无法构造Supporter类的对象.)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-1 11:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表