是否存在在 range-for 循环中使用 const&&
确实有意义的情况?
for (const auto && x : c) // ?
最佳答案
简短回答:否,在 range-for 循环
(或其他)中 const auto&&
没有用处
如果您希望以优化的方式移动对象,您可以使用 rvalue references
。除非您可以修改从中移动的对象,否则您不能这样做(通常)。所以 const rvalues
(*) 没有实际用处(你不能离开它们,因为你不能修改它们)。
range-for 循环
在这个关于 const auto&&
的讨论中没有提出任何问题。
例如查看此 SO 帖子:Do rvalue references to const have any use?
const rvalue 引用的唯一用途是删除一些函数重载。这不适用于 range-for 循环
。
(*) 顺便说一下,const auto&&
是一个 const 右值引用,而不是一个转发引用。
关于c++ - const&& 在 range-for 中的应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039198/