我在玩范围循环,例如:
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
……
到目前为止,我发现的一种解决方案是使用 boost::irange,例如:
for (auto it : irange(range.begin(), range.end())) {