gpt4 book ai didi

c++ - 有什么理由不对 C++ 基于范围的 for 循环使用 auto& 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:11 32 4
gpt4 key购买 nike

例如循环:

std::vector<int> vec;
...
for (auto& c : vec) { ... }

将遍历 vec 并通过引用复制每个元素。

是否有理由这样做?

for (int& c : vec) { ... }

最佳答案

这两个代码片段将导致生成相同的代码:使用 auto,编译器将确定底层类型是 int,并执行完全相同的操作

但是,auto 的选项更“面向 future ”:如果在以后的某个时候您决定将 int 替换为,比如说, uint8_t 为了节省空间,您无需遍历代码来查找对可能需要更改的基础类型的引用,因为编译器会自动为您完成。

关于c++ - 有什么理由不对 C++ 基于范围的 for 循环使用 auto& 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21115653/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com