2013-09-19 5 views
1

Я понимаю, что вы можете просто использовать std :: vector или даже обычные массивы для объектов, отличных от CCObject, и использовать CCArray иначе. Но что, если у меня есть класс, который является оберткой CCObject? могу ли я сохранить его в std :: vector, добавив (конструктор оболочки) или удалив (оберточный деструктор), который CCObject как дочерний слой без проблем? Благодарю.CCArray vs. std :: vector

ответ

2

Да, вы можете сохранить указатель на CCObject в std :: vector, но вы должны помнить об удержании, когда вы добавляете объект в вектор и отпускаете, когда вы отпускаете его при удалении из вектора.

+0

Действительно ли это необходимо, если я сделаю конструктор: LAYER-> addChild (m_pSprite, 0); деструктор: LAYER-> removeChild (m_pSprite, 0); ? – user1625678

+0

В этом случае это не обязательно, потому что вызов addChild сохраняется и удаляется. –

Смежные вопросы