zoukankan      html  css  js  c++  java
  • Cocos2D-x中关于CREATE_FUNC宏的用法

      阅读cocos2d-x demo的代码,我们会看到有些头文件中使用CREATE_FUNC这个宏,那么它是做什么的呢?在cocos2d-x 又是起什么作用呢?下面我们就一起来看看CREATE_FUNC宏的源代码。

     1 /**
     2  * define a create function for a specific type, such as CCLayer
     3  * @__TYPE__ class type to add create(), such as CCLayer
     4  */
     5 #define CREATE_FUNC(__TYPE__) 
     6 static __TYPE__* create() 
     7 { 
     8     __TYPE__ *pRet = new __TYPE__(); 
     9     if (pRet && pRet->init()) 
    10     { 
    11         pRet->autorelease(); 
    12         return pRet; 
    13     } 
    14     else 
    15     { 
    16         delete pRet; 
    17         pRet = NULL; 
    18         return NULL; 
    19     } 
    20 }

      注释中写的很明确,为一个类似CCLayer类的特定的类增加一个create函数.我们也可以看到在宏的下面定义了一个create()函数返回的类型就是宏带入的参数__TYPE__指针类型.那create函数里做了什么呢?它执行了类的构造函数,执行了init()初始化函数,最后又设置创建出的对象为自动释放内存.这样其他人在使用这个类的时候,只要是用create()函数创建出来的对象就不用费心去管理释放内存了。

  • 相关阅读:
    进制
    流程控制
    运算符
    格式化输出
    数据结构-树的遍历
    A1004 Counting Leaves (30分)
    A1106 Lowest Price in Supply Chain (25分)
    A1094 The Largest Generation (25分)
    A1090 Highest Price in Supply Chain (25分)
    A1079 Total Sales of Supply Chain (25分)
  • 原文地址:https://www.cnblogs.com/atong/p/3305566.html
Copyright © 2011-2022 走看看