Цикл for на основе диапазона C ++ 11 разыменовывает итератор. Значит ли это, что нет смысла использовать его с boost::adaptors::indexed
? Пример:
boost::counting_range numbers(10,20);
for(auto i : numbers | indexed(0)) {
cout << "number = " i
/* << " | index = " << i.index() */ // i is an integer!
<< "\n";
}
Я всегда могу использовать счетчик, но мне нравятся индексированные итераторы.
- Можно ли как-то использовать их с циклами for на основе диапазона?
- Что такое идиома для использования циклов на основе диапазона с индексом? (просто счетчик?)
indexed
отстой, потому что он добавляет методindex()
к итератору, а не значение, возвращаемое при разыменовании итератора. : / - person Xeo   schedule 17.05.2013value_type
функциями-членамиindex()
иvalue()
. - person ecatmur   schedule 21.01.2016boost::adaptor::indexed
наboost::adaptors::indexed
, поскольку мне потребовалось время, чтобы понять, чтоs
пропал? - person Enlico   schedule 18.11.2019