function MyFunc(const Value: Integer): Integer;
const
MyArray: array[0..255] of Byte = ( ... ); // values of the array here
begin
... // Some codes here
Result := Integer(MyArray[Value shr 58]);
end;
在MyArray
之外声明MyFunc
会增加重复拨打MyFunc
的效果吗?
答案 0 :(得分:7)
在
MyArray
之外声明MyFunc
会增加重复调用MyFunc的效果吗?
没有。无论MyArray
是函数的局部函数还是更宽范围的常量,编译器都会生成相同的代码。类型化常量存储在可执行文件的数据段中,与其范围无关。