首页 > 其他 > 详细

cocos2d 源码分析----Node create

时间:2018-07-03 17:57:16      阅读:146      评论:0      收藏:0      [点我收藏+]
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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!