【发布时间】:2016-11-30 16:46:39
【问题描述】:
我只是遇到了一个令人讨厌的错误,我有一个循环
for (auto i = 0; i < vec.size() -1; ++i) {
//
}
vec 是 emtpy std::vector,因此 vec.size() -1 在我的系统上计算为 2^64。
上述循环的正确写法是什么?
【问题讨论】:
-
为什么不使用基于范围的 for 循环遍历向量本身?
for (const auto& el : vec) { do_something(el);} -
我只是好奇,你为什么要遍历除最后一个之外的所有元素?
-
@Borgleader 是连接字符串时那些恼人的“删除尾随空白情况”之一
-
@user695652 哦,我明白了,这很有道理。