使用最新的Delphi版本(柏林/ 10.1 / 24),[Ref]属性真的有必要吗?
我问这个是因为online doc说:
常量参数可以通过值或引用传递给函数,具体取决于所使用的特定编译器 . 要强制编译器通过引用传递常量参数,可以将[Ref]装饰器与const关键字一起使用 .
使用最新的Delphi版本(柏林/ 10.1 / 24),[Ref]属性真的有必要吗?
我问这个是因为online doc说:
常量参数可以通过值或引用传递给函数,具体取决于所使用的特定编译器 . 要强制编译器通过引用传递常量参数,可以将[Ref]装饰器与const关键字一起使用 .
1 回答
如果您有理由强制通过引用传递参数,则's pretty much as described by the documentation. You' d使用
[ref]
. 我能想到的一个例子是互操作 . 想象一下,您正在调用一个定义如下的API函数:在Pascal中,您可能希望像这样导入它:
但由于
TInfo
很小,编译器可能会选择按值传递结构 . 因此,您可以使用[ref]
进行批注,以强制编译器将参数作为参考传递 .