У меня есть:
std::unordered_set<ui::Button*> _buttons;
std::unordered_set<Sprite*> _sprites;
std::unordered_set<Sprite*> _someOtherSprites;
Оба ui::Button
и Sprite
, наследуются от Node
.
Так, например, я могу сделать:
for(Node* node : _sprites){
node->setPosition(1,2);
}
for(Node* node : _someOtherSprites){
node->setPosition(1,2);
}
for(Node* node : _buttons){
node->setPosition(1,2);
}
Поскольку мне нужно выполнять одинаковые операции с обоими наборами, есть ли способ сделать это только с одним набором циклов?Я имею в виду хранение всего кода, который выполняется внутри циклов, в одном месте, вместо того, чтобы повторять его в разных циклах, как описано выше?
Мне нужно хранить спрайты, someOtherSprites и кнопки в отдельных наборах.
Могу ли я сделать что-то вроде этого:
std::unordered_set<std::unordered_set<Node*>> mySets;
mySets.insert(_buttons);
mySets.insert(_sprites);
mySets.insert(_someOtherSprites);
for(auto mySet : mySets)
for(Node* node : mySet){
node->setPosition(1,2);
}
}
У меня нет необходимости делать это.Мне просто любопытно, возможно ли что-то подобное.