Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 在函数外部声明数组是否会提高重复调用函数的性能? 函数MyFunc(常量值:整数):整数; 常数 MyArray:Byte=(…);//的数组[0..255]这里是数组的值 开始 ... // 这里有一些代码 结果:=整数(MyArray[值shr 58]); 结束;_Function_Delphi - Fatal编程技术网

Function 在函数外部声明数组是否会提高重复调用函数的性能? 函数MyFunc(常量值:整数):整数; 常数 MyArray:Byte=(…);//的数组[0..255]这里是数组的值 开始 ... // 这里有一些代码 结果:=整数(MyArray[值shr 58]); 结束;

Function 在函数外部声明数组是否会提高重复调用函数的性能? 函数MyFunc(常量值:整数):整数; 常数 MyArray:Byte=(…);//的数组[0..255]这里是数组的值 开始 ... // 这里有一些代码 结果:=整数(MyArray[值shr 58]); 结束;,function,delphi,Function,Delphi,将在MyFunc外部声明MyArray将提高重复调用MyFunc的性能 是否将MyArray声明在MyFunc之外会提高重复调用MyFunc的性能 不可以。无论MyArray是函数的局部变量,还是更大范围的常量,编译器都将生成相同的代码。类型化常量存储在可执行文件的数据段中,与它们的作用域无关。如果有任何不同,为什么不测试它并向我们显示结果?:-)@KromStern—确实,代码查看某个内存位置,但在哪个范围内?在我的计算机上的相同性能不一定在其他计算机上的相同性能,因此这里需要一个理论。然而,

将在
MyFunc
外部声明
MyArray
将提高重复调用
MyFunc
的性能

是否将
MyArray
声明在
MyFunc
之外会提高重复调用MyFunc的性能


不可以。无论
MyArray
是函数的局部变量,还是更大范围的常量,编译器都将生成相同的代码。类型化常量存储在可执行文件的数据段中,与它们的作用域无关。

如果有任何不同,为什么不测试它并向我们显示结果?:-)@KromStern—确实,代码查看某个内存位置,但在哪个范围内?在我的计算机上的相同性能不一定在其他计算机上的相同性能,因此这里需要一个理论。然而,大卫从理论和实践上证明,“内部/外部”并不重要。