将Char参数作为“ const”传递是否有优势?

问题描述 投票:0回答:1

我已经read将参数传递为const允许编译器针对结构化和字符串类型优化代码。

Char参数声明为const是否有好处?

procedure Test(const AMyChar : Char);

代替

procedure Test(AMyChar : Char);

如果是这样,它与unicode migration有关系吗?

delphi parameters parameter-passing delphi-xe7
1个回答
0
投票

将Char参数声明为const有好处吗?

否,对值的传递方式没有影响。

您指的是传递引用计数类型的优化。当它们作为const传递时,编译器可以省略引用计数代码,因为它知道被调用者无法修改该对象。但是Char未计算引用,因此不适用。

或者如果使用const,则可以通过引用而不是通过副本传递结构化类型。这样可以避免某些内存复制,这对于较大的类型可能具有性能优势。同样,这不适用于16位Char

Char的东西作为整数类型,当您要想知道如何将其传递给函数时。

© www.soinside.com 2019 - 2024. All rights reserved.