如果我有这样的类型
std::vector<int> const value = ...
哪一个方案更好?
样式1:
for(auto v : value){
//do something
}
样式 2:
for(auto &&v : value){
//do something
}
样式3:
for(auto const v : value){
//do something
}
所有这些方法都保持类型的常量性。
风格2是最通用的解决方案。
据我所知,对于像int、double等基本类型,传值优于传const引用,因此如果我们知道向量的类型是基本类型,则认为风格1和风格3比风格2更好。如果我的问题听起来很愚蠢,请原谅我。
for(auto const v : value){
,你是不是想说for(const auto& v : value){}
?因为一个const值似乎没有太多意义。 - Paul Rooney