私は範囲ループで遊んでいました、例えば:
for (auto i : range) {
これはと同等です
auto it = range.begin();
auto i = *it;
しかし、私が欲しいのはこれです:
for (auto it : range) {
*it; // the it var is not derefernced by range loop
これを達成する方法はありますか?たぶん次のようなもの:
for (auto it : make_range(range)) {
*it; // the it var is not derefernced by range loop
....
これまでに見つけた解決策の 1 つは、boost::irange を使用することです。
for (auto it : irange(range.begin(), range.end())) {