我承认我的 C++ 技能有点生疏,我正在为即将开始的新项目投入 C++11。我刚刚发现这种令人困惑的行为,如果我写
void MyClass::update() {
for(SomeClass &i : _list) {
i.doStuff();
}
}
或者
void MyClass::update() {
for(SomeClass i : _list) {
i.doStuff();
}
}
它的工作原理似乎完全相同,_list
只是一个std::list<SomeClass>
. 所以我想知道这里的 ref 有什么用,因为我显然遗漏了一些东西。我应该提到我正在使用 Xcode 4.4.1 (4F1003) 附带的 Apple LLVM 4.0。
拜托,如果这是一个非常愚蠢的问题,请随意嘲笑和取笑我,我真的可以用一些好的 ol' head slapping :)