繁体   English   中英

`auto const& x ` 在 C++ 中有什么作用?

[英]what does `auto const& x ` do in C++?

我正在阅读这个问题的公认答案C++ Loop through Map

该答案中的一个示例:

for (auto const& x : symbolTable)
{
  std::cout << x.first  // string (key)
            << ':' 
            << x.second // string's value 
            << std::endl ;
}

在这种情况下, auto const&是什么意思?

这使用基于范围的 for语句。 它声明了一个名为x的变量,它是容器值类型的引用常量。 由于symbolTablestd::map<string, int> ,编译器为x分配了一个对映射value_type的常量引用,即std::pair<const std::string, int>

这等效于std::pair<const std::string, int> const &x ,但更短。 只要序列的类型发生变化,它就会auto适应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM