Delphi 函數參數修飾中的var 、out和const
来源:互联网 发布:mysql 开启日志 编辑:程序博客网 时间:2024/04/29 10:48
出處 : http://blog.sina.com.cn/s/blog_6e9c16890100x1n9.html
(1)var修飾符
添加var 是地址傳遞,會修改原有的變量
var s: string;begin S := 'Hello'; ChangeSVar(S); ShowMessage(S);end;// ChangeSVar 定義procedure TForm1.ChangeSVar(var A: string);begin A := A + 'World';end;以上會輸出Hello World,因為是傳址,修改的是原來的A
(2)無任何修飾符
var S: string;begin S := 'Hello'; ChangeS(S); ShowMessage(S);end;// ChangeS定義procedure TForm1.ChangeS(A: string);begin A := A + 'World';end;以上會輸出Hello,因為方法ChangeS其實是創建了一個新的A,而輸出的還是原來的A,值並沒有改變
(3)out修飾符
var S: string;begin S := 'Hello'; ChangeSOut(S);// 此時S的值是'Hello,'而非'Hello,World'!,在過程Hello中的S的原始值被丟棄了 ShowMessage(S);end;// ChangeSOut定義procedure TForm1.ChangeSOut(out A: string);begin A := A + 'World';end;以上會輸出World,out僅僅接受返回的值,對out的任何輸入都會被忽略。同時out傳遞給過程的實際參數不必進行初始化,比如對ChangeSOut的調用:
Var Tmp: string;Begin ChangeSOut(Tmp);// 編譯也可以通過End;
(4)Const修飾符
Const修飾的參數傳入之後不允許修改
如果在過程中修改參數會報錯,比如:
Procedure xxxx.TestConst(const A: String);Begin A := 'ss'; // 企圖修改const修改的參數,會報錯End;
0 0
- Delphi 函數參數修飾中的var 、out和const
- Delphi 函数参数修饰中的var 、out和const
- Delphi 函数参数修饰中的var 、out和const
- Delphi 函数参数修饰中的var 、out和const
- Delphi学习之函数参数修饰中的var 、out和const
- Delphi中的var、constant、out的区别
- javascript中的var,let和const
- delphi 函数参数传递 默认参数(传值)、var(传址)、out(输出)、const(常数)四类
- const type *var, type const * var, type *const var 和 const type *const var
- var let 和const
- let var和const
- 如何理解Move参数中的const Source和var Dest
- JavaScript ES6中的var、let、const
- var和let,var和const的区别
- Delphi 中的 Var buffer 开类型参数
- var、let和const的区别?
- var let 和const的区别
- ES5中的var与ES6中的let,const的区别
- iTunes Connect 开发者上手经验
- c语言的贪吃蛇
- 图像信息隐藏与水印
- servlet (1) 基础
- 关机的小程序
- Delphi 函數參數修飾中的var 、out和const
- 为什么要使用RTP
- python_note
- 创建一个pod
- 找回GoodReader中丢失的书签
- Facebook 2013年的9个开源项目
- POJ 2378 树形dp
- 35 个你也许不知道的 Google 开源项目
- [母函数]HDU 1085 Holding Bin-Laden Captive!