coco2d-x单例的实现

由于我也是刚刚开始学习cococ2d-x这个引擎,有些地方理解的也不很好。但是今天犯了一个很低级的错误,在使用单例的时候误把重写的create的方法认为是单例,本人很生气,所以就记录了下来。也为刚刚学习 cocos2d-x的同学不要给我一样。代码仅供参考。

首先什么是单例?

个人认为单例就是一个全局的,在什么地方(这个说的是在你的项目工程里啊 )都可以使用,在整个程序的过程中都是不会死亡的,知道程序的结束。

单例的实现:

<pre name="code" class="cpp">static HeroTank* instance = NULL; 
HeroTank * HeroTank::getInstance() {
    if(instance == NULL) {
        instance = new HeroTank();
        instance->init();
    }
    return instance;
}

 由于我将单例跟重写的create方法搞混了,那我就讲create也贴出来吧,重写create方法是在需要传参的时候。 

重写create方法如下:

HeroTank* HeroTank::create(int num)
{
  HeroTank* hero = new HeroTank();
  if(hero&&hero->init(num))
 { 
   hero->autorelease();
   return hero;
 }
 delete hero;
 hero = NULL;
 return NULL;
}
以上也就是我的基础知识点不扎实到时的,说我就决定记录下来,防止以后再犯此类错误,和方便以后查看使用,如有错误也希望各位读者给予更正。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值