3.0正式版可以有Node* 的属性吗?能自动回收吗?

比如在HELLOWORLD的声明里声明一个自己的精灵

 
 class HelloWorld : public cocos2d::Layer
{
public:
    // there's no 'id' in cpp, so we recommend returning the class instance pointer
    static cocos2d::Scene* createScene();
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();  
    
    // a selector callback
    void menuCloseCallback(cocos2d::Ref* pSender);
    
    // implement the "static create()" method manually
    CREATE_FUNC(HelloWorld);
 
 Sprite* mySprite;
};

这个 mySprite 精灵 能否自动回收呢?
记得2.2版本里是不建议这么用的!要用getTag找到添加的Node* 才能自动回收?
不知道3.0改了没有?

自己顶一下吧,大神们动都没看到

你只是声明了一个指针,能不能自动释放要看你如何创建对象的。
如果直接new肯定需要自己delete,或自己设定autorelease
想自动释放一般用create来创建对象

当然是用 create来创建对象 ,
记得2.2时候是说 推荐用gettag方式 来找对象,但确实不是很方便啊
没有预先声明的方式方便!
但不知道3.0现在是否修改了2.2的机制。可以自动释放在.H文件里定义的那个对象呢?

2.2版本跟3.0版本都没有 要用getTag找到添加的Node* 才能自动回收? 这回事!!!

自动释放是因为调用了create中调用了autorelease,添加进了自动释放池,引用计数方面的问题,3.0和2.x没有任何变化,唯一的变化就是CCObject这个类的名字改成Ref了,突出引用的意思。

其实你看看Create里的代码就应该知道了,用的就是autorelease。其实就是引用计数了,可惜不像Objective-C那么高大上,有ARC可用。
C++11里的智能指针感觉好麻烦,不如ARC那么简单

那么说,不论在哪里定义的node*,只要对象是 creat出来的就可以自动释放了!?

一直都是如此

跟版本没关系,这部分的东西完全没改。