在 C++11 中使用参考文献
Use of reference in C++11 for
我承认我的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。
请随意嘲笑和取笑我,如果这是一个愚蠢的问题,我真的可以用一些好的老头拍:)
引用与
容器无关,但与您从中取出的元素有关。在第一种情况下,您正在访问列表中的元素并对其进行修改,在第二种情况下,您创建元素的副本,然后更改副本,无论如何都会超出范围。
相关文章:
- 演绎指南中的参考文献和值之间的差异
- 遍历地图并将该对用作参考参数 C++11
- 是指代指针正交的参考文献
- G 也抱怨不确定的参考文献,即使包括库
- 为什么认为参考文献在C 底漆第5个中没有变化,以下代码有效
- 库存储涉及参考文献的"equation"?
- 关于在ConstexPR指示和参考文献中需要固定地址的澄清
- 访问链接的列表项目从参考这些项目的参考文献中
- CXX11不确定的参考文献6.2.0
- std::tuple_size和参考文献
- 在 C++11 中使用参考文献
- 指针与参考文献
- 多态性和与参考文献的切片
- 这个临时参考文献能保存足够长的时间吗
- 关于指针和参考文献的两个简短问题
- 参考文献:我要超出范围了吗?
- COM参考文献计数问题
- 我们可以将规范性参考文献中未明确引用的内容应用到C++标准中吗
- make_pair参考文献
- 关于参考文献的问题和指向它们的指针