新手请教个问题,2dx3.0rc 中,为什么sprite的create和Fadeln的create,写法有这样的差异???求教

Sprite* Sprite::create(const std::string& filename)
{
Sprite *sprite = new Sprite();
if (sprite && sprite->initWithFile(filename))
{
sprite->autorelease();
return sprite;
}
CC_SAFE_DELETE(sprite);
return nullptr;
}

FadeIn* FadeIn::create(float d)
{
FadeIn* action = new FadeIn();

action->initWithDuration(d,255.0f);
action->autorelease();

return action;

}

上面的会判断是否为空,为什么下面的不用判断???

就我个人理解用new分配内存都是要进行指针判空的,我刚翻了下源码,看整个继承树,感觉FadeIn这边也是要判断的。我会将此问题反馈给引擎组,再给您进一步的答复。感谢您的支持~~

版主太给力了,因为我是java转c++ 初学,所以翻看源码的时候 会比较较真(水平不行),多谢解答