На самом деле это два связанных вопроса.Сокращение for-loop - синтаксический сахар в C++ (11)
Я знаю, что есть новый синтаксис в C++ 11 для диапазона на основе for
петель вида:
//v is some container
for (auto &i: v){
// Do something with i
}
Первый вопрос: как я могу сделать вывод, на котором итерацию я в этом цикле? (Скажем, я хочу заполнить вектор со значением j в позиции j).
Второго вопрос: Я хотел бы знать, есть также некоторые другие пути, чтобы написать цикл формы
for (int i=0; i<100; i++) { ... }
Я нахожу этот способ написания его немного громоздким, и я делаю это так часто и Я хотел бы иметь более сжатый синтаксис. Что-то вдоль линий:
for(i in [0..99]){ ... }
было бы здорово.
Для обоих вопросов я хотел бы избежать использования дополнительных библиотек.
Если вы хотите, чтобы * заполнить вектор значением j в позиции j *, вы можете использовать [std :: iota()] (http://en.cppreference.com/w/cpp/algorithm/iota) –
Один вопрос одновременно, пожалуйста. Затем мы можем закрыть каждый из них как дубликат ранее существовавшего вопроса, который вы не искали. :) –
@ Антон Thx для iota! Его не _все_ я хочу, но это, конечно, хорошо знать. – dingalapadum