cocos2d 容器遍历的一个蛋疼问题请教!~

cocos2d::Vector<Sprite*> m_arrSpr;

//省略精灵对象创建代码

m_arrSpr.pushBack(sprite1);
m_arrSpr.pushBack(sprite2);
m_arrSpr.pushBack(sprite3);

for( Sprite* _sprPlayer : m_arrSpr )
{
_sprPlayer->setPosition( Vec2(100,150) );
}

C++11中 for( Sprite* _sprPlayer : m_arrSpr ) 这种写法其实等价于?(代码)
(C++11新特征文字解释已经看过了,但是如果换成传统迭代器写法,编译器会报错,难道是我对这种for传统写法理解有误?)

上面的问题又会导致另外一个疑问,如果想反向遍历容器,应该怎么写?(代码)