奇怪的写法..请问区别?(22分)

  • 主题发起人 主题发起人 淡淡的笑
  • 开始时间 开始时间

淡淡的笑

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TQuickSort.Sort(var A: array of Integer);
// <<=== 第一层
procedure QuickSort(var A: array of Integer;
iLo, iHi: Integer);
// <<=== 第二层
begin
........
end;

begin
QuickSort(A, Low(A), High(A));
end;

以上的写法同下面的写法有区别么?
procedure TQuickSort.Sort(var A: array of Integer);
// <<=== 第一层
begin
QuickSort(A, Low(A), High(A));
end;

procedure QuickSort(var A: array of Integer;
iLo, iHi: Integer);
// <<=== 第二层
begin
.....
end;
 
第一种写法的 QuickSort 是不能被别的函数或者是过程“看到”的。
第二种写法,当然就是一定程度上的共享一段代码了。 :-)
 
就是说第一种写法就稍微快那么么一一点点点.. :) 是不是?
 
呵呵,我也认为是第一种速度快,
 
内部函数跟外部函数的区别
1,装入时的堆栈位置不同,内部函数使用宿主的堆栈
2,运行速度略有差别。
3,内部函数可以使用宿主定义的局部变量
 
第二种写法为两个过程。
 
谢了..虽然是小问题,, 呵呵,,见者有分..
 
:-)
听听高手怎么说………
 
多人接受答案了。
 
后退
顶部