【发布时间】:2012-03-27 23:08:38
【问题描述】:
鉴于auto的以下用法:
std::vector<int> v;
for (auto i = 0; i < v.size(); ++i) {
...
}
C++ 将i 推导出为std::vector<int>::size_type 是理想的,但如果它只查看i 的初始值设定项,它会看到一个整数。在这种情况下,i 的推断类型是什么? auto 的用法合适吗?
【问题讨论】:
-
不知道你用
i做什么,这是不可能的。 -
我从来不知道
auto是用来推导变量的适当类型的!是吗? -
@Mr.TAMER 是的,他们在 C++11 中改变了它的含义。
-
@MarkB:太好了!!所以它现在类似于 C# 中的
var,对吗?您能否提及标准中定义新含义的部分? -
@Mr.TAMER [dcl.spec.auto],是的,它几乎与 C# 的
var关键字相同。