标签:arr const 函数 Delphi 第三天 默认 参数 笔记 fun
--位运算符:and、or、xor、not
shl(); --二进制左移,相当于*2
shr(); --二进制右移,相当于div 2
delphi中的函数和过程调用都是按就近原则,
比如有一个公共函数fun()和一个对象里的函数TObject.fun(),
调用fun()函数的公共过程PubilcProc()和TObject.Proc()。
publicProc()中调用的就是公共函数fun(),而TOject.Proc()调用的就是自己对象内部的Tobject.fun()。
var与out声明的参数都是引用传递,但out声明的参数只能用于输出。
const声明的参数不允许被改变,因此编译器能优化常参的传递,能提高执行效率。
默认参数:在参数声明时为该参数赋值。
使用原则:
1,如果你省略了一个默认参数,那么你也要省略这个参数后面的所有参数
2,不能跳过默认参数,直接输入默认参数后面的参数
3,默认参数全部放在参数列表的最后,能避免上面两种情况
4,默认参数必须是常量
5,默认参数必须是值传递或常参函数,不能是var声明的引用参数
6,不建议同时使用默认参数和重载,很容易发生RuntimeError(系统会找到多个合适的重载函数)
开发数组参数:数组的类型已确定,但元素个数未知。例: const array of Integer
类型变化的开放数组参数:数组的类型和大小都不确定,元素类型由元素的Vtype属性来判断。
procedure proc1(const arr: array of const);
var
i: Integer;
begin
for i = low(arr) to high(arr)
begin
case arr[i].VType of
vtString:....;
vtInteger:.....
end;
end;
raise Exception.Create('');和Exit;的区别:Exit只是终止所在函数的执行,而raise exception抛出了异常,会终止所在函数及调用该函数的对象的执行。
Delphi中的函数重载:在函数声明后添加Overload关键字,并保证与其重名的函数的参数个数、类型不同。那么系统会自动根据传入参数的个数、类型选择最匹配的重载函数。
标签:arr,const,函数,Delphi,第三天,默认,参数,笔记,fun 来源: https://www.cnblogs.com/wuchangxing/p/15225922.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。