auto
关键字是否可以用作 C++11 中的存储类说明符?
以下代码在 C++11 中合法吗?
int main() {
auto int x;
}
否,
代码在 C++11 中的格式不正确。 C++11 中的auto
将用于从变量的初始值设定项推断变量的类型,并且不能用作存储类说明符。
正确用法
int main()
{
auto x = 12; // x is an int
auto y = 12.3; // y is a double
}
auto int x;
是循环的 - 您实际上是将类型声明为int
.鉴于您拥有此信息 - 没有理由不简单地使用:
int x;
如果要将 X 声明为作用域中另一个变量的类型,可以使用 decltype
using sometype = float;
sometype y;
decltype(y) x;