Delphi中有自动关键字吗?

发布于 2025-01-18 04:12:38 字数 111 浏览 0 评论 0原文

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

I'm learning Delphi myself.. I have seen the auto variable type that can do some degree of magic in C++. Is there an auto a variable type, or something similar to this, in Delphi?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷荒 2025-01-25 04:12:38

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

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

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

程序测试;
开始
  var I := 22;
  ShowMessage(I.ToString);
结尾; 

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

auto in C++ is used to let the compiler infer a variable's data type based on what type of value is used to initialize it.

In Delphi 10.3 and later, type inference is available only on an inline variable:

Additionally, the compiler can now in several circumstances infer the type of a variable at its inline declaration location, by looking to the type of the value assigned to it.

procedure Test;
begin
  var I := 22;
  ShowMessage (I.ToString);
end; 

The type of the r-value expression (that is, what comes after the :=) is analyzed to determine the type of the variable. Some of the data types are “expanded” to a larger type, as in the case above where the numeric value 22 (a ShortInt) is expanded to Integer. As a general rule, if the right hand expression type is an integral type and smaller than 32 bits, the variable will be declared as a 32-bit Integer. You can use an explicit type if you want a specific, smaller, numeric type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文