将 Char 参数作为“const”传递有什么好处吗?

Fab*_*zio 1 delphi parameters parameter-passing delphi-xe7

读过传递参数const允许编译器优化结构化和字符串类型的代码。

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

procedure Test(const AMyChar : Char);
Run Code Online (Sandbox Code Playgroud)

代替

procedure Test(AMyChar : Char);
Run Code Online (Sandbox Code Playgroud)

如果是这样,它是否与unicode 迁移有关

Dav*_*nan 5

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

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

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

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

Char当您想推理如何将其传递给函数时,可以将其视为整数类型。