我正在学习c ++而且我遇到了一些我无法解释的行为.下面的两段代码提供了不同的结果,而我希望它们是等价的:
success = true;
vector<instruction>::const_iterator i;
for (i = instructions.begin(); i != instructions.end(); ++i) {
bool up = update(*i);
success = success && up;
}
Run Code Online (Sandbox Code Playgroud)
和
success = true;
vector<instruction>::const_iterator i;
for (i = instructions.begin(); i != instructions.end(); ++i) {
success = success && update(*i);
}
Run Code Online (Sandbox Code Playgroud)
我的印象是第二个版本总是采用迭代器的初始值.有人可以解释一下原因吗?
c++ ×1