首页 > 解决方案 > 在 Delphi 中是否需要将 object 类型的参数声明为 const?

问题描述

const我知道Delphi 中简单类型和字符串的参数的好处。但是 aconst TStrings呢?由于const TStrings参数可以更改其项目(内容),const TStrings例如声明参数有什么意义?这也适用于任何对象。

标签: delphiconstants

解决方案


const仅适用于指向对象的指针,TStrings不适用于TStrings对象本身。所以它在非基于 ARC 的平台上几乎没有什么区别,特别是如果代码不尝试改变指针指向的位置。它唯一真正的用途是记录参数的意图

但是,它const可以在基于 ARC 的平台上产生很大的不同。它禁用传递给参数的对象的隐式引用计数(就像const字符串和接口参数一样)。


推荐阅读