常量的应用范围?

Applications of const&& in range-for?

本文关键字:范围 应用 常量      更新时间:2023-10-16

在循环的范围内使用const&&是否有意义?

for (const auto && x : c) // ?

简短回答:没有range-for loops(或其他)中没有const auto&&的用途

如果希望以优化的方式移动对象,则可以使用rvalue references。除非可以修改从中移动的对象,否则(通常)无法执行此操作。因此const rvalues(*)没有实际用途(因为无法修改它们,所以无法从中移除)。

range-for loops在关于const auto&&的讨论中没有带来任何内容。


例如,看看这个SO帖子:对const的右值引用有任何用处吗?

常量值引用的唯一用途是删除一些函数重载。这不适用于range-for loops


(*)顺便说一下,const auto&&是常量值引用,而不是转发引用。