在数组的迭代中使用参考
using reference in iteration of array
vector<int> nums;
.....
//Case- A
for(int& i : nums){
....
}
//Case- B
for(int i : nums){
....
}
案例A和case-b
这无疑取决于循环的主体。
,如果没有循环的身体,两者都会完全丢弃整个循环。
在两种情况下,代码都没有什么不同。&
CASE-A最有可能丢弃不必要的操作(例如复制值(。但是显然,在修改i
时,语义是不同的。
相关文章:
- 使用std::multimap迭代器创建std::list
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- C++中带有List类的迭代器Segfault
- 迭代时从向量和内存中删除对象
- 如何在c++迭代器类型中包装std::chrono
- 带过滤器的现代迭代c++集合
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- C++矢量迭代
- 集合上的输出迭代器:assign和increment迭代器
- Boost Spirit,获取迭代器内部语义动作
- 擦除while循环中迭代的元素
- 实现一个在集合上迭代的模板函数
- 对于set上的循环-获取next元素迭代器
- 在向量内的向量上迭代
- 为什么output_editor Concept不需要output_e迭代器标记
- 通过容器进行迭代 - 何时使用参考以及何时不使用
- 在数组的迭代中使用参考
- C 功能具有参考参数错误的迭代器错误.寻求解释
- 为什么删除字符串迭代器会产生const char参考
- 获取迭代器以供常量参考