小编use*_*004的帖子

什么是"简洁的基于范围的循环"?

clang已经开始实现从n3994开始的基于范围的基于for循环.通常在引入基于范围的for循环时,我们会以避免不必要的复制的形式看到代码.似乎n3994提出的在各方面都是优越的.我有几个问题:for (auto & v : vector)for (auto && v : vector)

  1. 后者形式比前者有什么优势?为什么我们通常不去,auto &而不是auto &&后者显然有利?
  2. 是否使新的基于范围的循环等效auto &&于破坏现有代码?它会对新代码产生实际影响吗?
  3. 难道这不会给初学者带来他们的代码实际等同的问题auto &&吗?

c++ c++17

19
推荐指数
2
解决办法
2063
查看次数

标签 统计

c++ ×1

c++17 ×1