我读到,将参数作为const
传递允许编译器针对结构化和字符串类型优化代码。
将Char
参数声明为const
有什么好处吗?
procedure Test(const AMyChar : Char);
而不是
procedure Test(AMyChar : Char);
如果是这样,这与unicode迁移有关吗?
将Char参数声明为const有什么好处吗?
不,它对值的传递方式没有影响。
您所指的是用于传递引用计数类型的优化。当它们作为const
传递时,编译器可以省略引用计数代码,因为它知道被调用者不能修改对象。但是Char
没有被引用计数,因此这不适用。
或者,如果使用const
,结构化类型可以通过引用传递,而不是通过复制传递。这样可以避免一些内存复制,这对较大类型的内存具有性能优势。这同样不适用于16位CCD_ 7。
当您想推理如何将Char
传递给函数时,可以将其视为整数类型。