如果我只想执行只读操作,那么const auto&就足够了。然而,我遇到了
for (auto&& e : v) // v is non-const
最近我已经发现有几次在一些不常见的情况下使用转发引用(forwarding references)可能比使用auto&
或const auto&
有性能上的好处。这让我思考:
是否可能在某些不常见的特定情况下,使用转发引用相比于使用auto&
或const auto&
会有更好的性能表现?
shared_ptr
是一个可能存在特殊情况的嫌疑对象。
更新 我在我的收藏夹中找到了两个例子:
迭代基本类型时使用const引用的任何缺点?
我能否轻松地使用range-based for循环迭代map的值?
请关注问题本身:为什么我想在range-based for循环中使用auto&&?
auto&&
? - Ali