0
在c + +中的自动命令11是静态绑定(打字)或动态绑定?自动在c + + 11是静态类型或动态类型
即,如果我有此代码
auto x = 5;
将编译器决定该“x”是一个int或将它运行时descovered?
另外,以下代码中x的类型是什么?
auto x = 5, y = 4.5
在c + +中的自动命令11是静态绑定(打字)或动态绑定?自动在c + + 11是静态类型或动态类型
即,如果我有此代码
auto x = 5;
将编译器决定该“x”是一个int或将它运行时descovered?
另外,以下代码中x的类型是什么?
auto x = 5, y = 4.5
这就是所谓的类型推断。键入仍然是静态,但是让编译器确定表达式的类型。
具体为auto x = 5;
,编译时为is translated to int x = 5;
。出于这个原因,你总是在初始化时提供一个明确的表达式。例如auto x;
wouldn't work。
**静态**。编译器会从你分配的内容中推导出它。 – OMGtechy
对于'auto x = 5,y = 4.5;',g ++给出:'错误:'auto'的不一致推导:'int',然后'double'' – Jarod42
这是**类型推理**,自动替换spelled-在rhs上表达结果的名称。 – berkus