在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
不然, 编译器就会: 假定先修改, 先要备份; 使用前后要增减引用计数; 还要套上 try finally. 指定了 const 就可以避免以上过程从而提高效率. 测试效果图: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} //判断一个字符串中数字的个数 function GetNum1(str: string): Integer; var i: Integer; begin Result := 0; for i := 1 to Length(str) do if str[i] in ['0'..'9'] then Inc(Result); end; //同样的函数只是给参数加上 const function GetNum2(const str: string): Integer; var i: Integer; begin Result := 0; for i := 1 to Length(str) do if str[i] in ['0'..'9'] then Inc(Result); end; {对比测试} procedure TForm1.Button1Click(Sender: TObject); var s: string; n: Cardinal; i: Integer; begin s := 'ABC123'; n := GetTickCount; for i := 0 to 1000000 do GetNum1(s); n := GetTickCount - n; Text := IntToStr(n) + ' - '; n := GetTickCount; for i := 0 to 1000000 do GetNum2(s); n := GetTickCount - n; Text := Text + IntToStr(n); end; end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论