我知道const
参数对于Delphi中简单类型和字符串的好处。但是一个const TStrings
呢?由于const TStrings
参数可以更改其项(内容),因此声明const TStrings
参数的意义何在?这也适用于任何对象。
将const
仅适用于指针TStrings
对象,而不是到TStrings
对象本身。因此,在非基于ARC的平台上,它的作用不大,尤其是在代码不尝试更改指针指向的位置的情况下。唯一真正的用途是记录参数的意图。
但是,这const
可能会在基于ARC的平台上产生很大的不同。它禁用传递给参数的对象的隐式引用计数(就像const
字符串和接口参数一样)。