c ++ 11中的auto命令是静态绑定(输入)还是动态绑定?
即。如果我有这个代码
auto x = 5;
编译器会决定“x”是一个int,还是会在运行时进行描述?
同样,以下代码中x的类型是什么?
auto x = 5, y = 4.5
答案 0 :(得分:8)
这称为类型推断。键入仍然是 static ,但您可以让编译器弄清楚表达式的类型。
具体来说,auto x = 5;
,在编译时,is translated to int x = 5;
。出于这个原因,您始终在初始化时提供明确的表达式。例如auto x;
wouldn't work。