码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2d 源码分析----Node create

时间:2018-07-03 18:19:57      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:tor   --   空指针   cocos2d   代码结构   内存   cocos   null   源码   

Node * Node::create()
{
    Node * ret = new (std::nothrow) Node();
    if (ret && ret->init())
    {
        ret->autorelease();
    }
    else
    {
        CC_SAFE_DELETE(ret);
    }
    return ret;
}
new operator分配内存失败后,缺省的行为不是返回NULL,而是抛出异常std::bad_alloc。所以判断返回值是否为NULL没有任何意义。使用 try catch 会导致代码结构很乱,
而使用
new (std::nothrow) 在分配内存失败时会返回一个空指针,逻辑简洁清晰。

cocos2d 源码分析----Node create

标签:tor   --   空指针   cocos2d   代码结构   内存   cocos   null   源码   

原文地址:https://www.cnblogs.com/ak47-space/p/9259739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!