Delphi中有auto关键字吗?

jim*_*web 2 delphi pascal lazarus

我自己正在学习 Delphi。我已经看到了auto可以在 C++ 中发挥某种程度的魔力的变量类型。Delphi 中是否有auto变量类型或类似的东西?

Rem*_*eau 8

auto在 C++ 中,用于让编译器根据用于初始化变量的值类型来推断变量的数据类型。

\n

在 Delphi 10.3 及更高版本中,类型推断仅适用于内联变量

\n
\n

此外,编译器现在可以在多种情况下通过查看分配给变量的值的类型来推断变量的内联声明位置的类型。

\n
procedure Test;\nbegin\n  var I := 22;\n  ShowMessage (I.ToString);\nend; \n
Run Code Online (Sandbox Code Playgroud)\n

分析r 值表达式的类型(即 \xc2\xa0 之后的内容:=)以确定变量的类型。某些数据类型被 \xe2\x80\x9cexpanded\xe2\x80\x9d 为更大的类型,如上面的情况,数值 22 (a ShortInt) 被扩展为Integer。作为一般规则,如果右侧表达式类型是整型且小于 32 位,则该变量将被声明为 32 位Integer。如果您想要特定的、较小的数字类型,则可以使用显式类型。

\n
\n