除了引用参数外,还有一种参数叫做常量参数。由于不允许在例程中给常量参数赋新值,因此编译器能优化常参的传递过程。编译器会选用一种与引用参数相似的方法编译常参(C++术语中的常量引用),但是从表面上看常参又与值参相似,因为常参初始值不受例程的影响。
事实上,如果编译下面有点可笑的代码,Delphi将出现错误:
function DoubleTheValue(const Value:integer):integer;
begin
Value :=Value*2; //compiler error
Result :=Value;
end;