在最新版中testCpp的AccelerometerTest文件。。。感觉有错误。。。求交流额

在最新版中testCpp的AccelerometerTest文件夹的AccelerometerTest.cpp中
有如下代码:

void AccelerometerTest::onEnter()
{
CCLayer::onEnter();
//打开重力感应
setAccelerometerEnabled(true);

CCLabelTTF* label = CCLabelTTF::create(title().c_str(), “Arial”, 32);
addChild(label, 1);
label~~>setPosition.x, VisibleRect::top.y-50) );
//这里有不懂的地方???
m_pBall = CCSprite::create;
m_pBall~~>setPosition(ccp(VisibleRect::center().x, VisibleRect::center().y));
addChild(m_pBall);

m_pBall~~>retain;
}

既然已经addChild函数源代码为
void CCNode::addChild
{
CCAssert;
this~~>addChild(child, zOrder, child~~>m_nTag);
}
这里已经调用了this~~>addchild(…),按道理来说已经有了retain了,为什么还要m_pBall->retain();呢???这句是不是多余的啊?
我把这句注释掉之后,程序运行起来也没什么错,但这说明不了问题。。。故求助。。。thanks