c ++ 11中的auto是静态类型或动态类型

时间:2014-04-06 17:59:22

标签: c++ c++11

c ++ 11中的auto命令是静态绑定(输入)还是动态绑定?

即。如果我有这个代码

auto x = 5;

编译器会决定“x”是一个int,还是会在运行时进行描述?

同样,以下代码中x的类型是什么?

auto x = 5, y = 4.5

1 个答案:

答案 0 :(得分:8)

这称为类型推断。键入仍然是 static ,但您可以让编译器弄清楚表达式的类型。

具体来说,auto x = 5;,在编译时,is translated to int x = 5;。出于这个原因,您始终在初始化时提供明确的表达式。例如auto x; wouldn't work