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



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

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

procedure Test(const AMyChar : Char);

而不是

procedure Test(AMyChar : Char);

如果是这样,这与unicode迁移有关吗?

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

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

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

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

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

最新更新