Может ли кто-нибудь предложить, как в C++ 11/14 элегантно итерировать постоянный набор (по-английски, а не значение C++) чисел, желательно, не оставляя временных объектов, таких как здесь:C++: изящно итератировать набор чисел
set<int> colors;
colors.insert(0);
colors.insert(2);
for (auto color : colors)
{
//Do the work
}
? Надеюсь найти 1-лайнер.
Другими словами, есть волшебный способ сделать это выглядеть примерно так:
for (int color in [0,2])//reminds me of Turbo Pascal
{
//Do the work
}
или
for (auto color in set<int>(0,2))//Surely it cannot work this way as it is
{
//Do the work
}
Что вы итерируете, это набор целых чисел. Это было бы равным или большим накладным расходами для итерации с использованием ссылок. У вас все хорошо. –
О каком объекте вы говорите, когда говорите * временные объекты, как здесь *? –
'для (auto const & color: colors)', например, действителен. –