c++ - 这不是 const auto& 多余的吗?

标签 c++ constants

我在 Stroustrup 的一本书中找到了这段代码:

void print_book(const vector<Entry>& book)
{
     for (const auto& x : book) // for "auto" see §1.5
           cout << x << '\n';
}

但是 const 似乎是多余的,因为 x 将被推断为 const_iterator 因为 bookconst 在参数中。 const auto 真的更好吗?

最佳答案

在我看来,它看起来显式,这就是它更好的原因。因此,如果我的意思是 const,那么我更愿意明确地编写它。它增强了局部推理,从而帮助其他人相对容易地理解代码——其他程序员不必查看book声明并推断出x 也是 const

关于c++ - 这不是 const auto& 多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37605492/

相关文章:

c++ - C++ 是否支持编译时计数器?

c++ - 抽象类上的模板类

c++ - 类成员不知何故不情愿地改变

delphi - 为什么 Delphi 2009 不为太长的字符串常量提供消息?

c# - 如何构建只读字典?

c++ - 多重继承、模板和静态变量的 C++ 问题

c++ - 指针和 std::string - 奇怪的行为 - C++

c - 为什么将 main() 参数转换为 const

c - 使用内联函数 c 初始化 const