我已经read将参数传递为const
允许编译器针对结构化和字符串类型优化代码。
将Char
参数声明为const
是否有好处?
procedure Test(const AMyChar : Char);
代替
procedure Test(AMyChar : Char);
如果是这样,它与unicode migration有关系吗?
将Char参数声明为const有好处吗?
否,对值的传递方式没有影响。
您指的是传递引用计数类型的优化。当它们作为const
传递时,编译器可以省略引用计数代码,因为它知道被调用者无法修改该对象。但是Char
未计算引用,因此不适用。
或者如果使用const
,则可以通过引用而不是通过副本传递结构化类型。这样可以避免某些内存复制,这对于较大的类型可能具有性能优势。同样,这不适用于16位Char
。
Char
的东西作为整数类型,当您要想知道如何将其传递给函数时。