DELPHI 参数前缀的使用
2016-04-20 11:34
721 查看
传值参数
传值参数可在过程内部修改,但过程返回时该修改不会反映出来。不
加任何前缀,就表示该参数为传值参数。
Procedure Foo( I : Integer );
I 的值被传递到Foo 过程。当Foo 返回时,在Foo 中对I 的修改不会
反映到I。
传递引用参数
用引用传递参数意味着传递了指向实际数据的一个指针。如果用 var
前缀,即指定用引用传递参数。被调用过程会改变该参数,修改将对实际
数据进行,过程返回时可以看到改变。
Procedure Foo( var I : Integer );
I 作为变量传递。当Foo 返回时,在Foo 中对I 的改变将反映到作为
参数传递到Foo 的实际变量。
传递常量参数
常量参数是不可改变的,即“可以看不能碰”。应尽可能地使用常量
参数,因为常量参数是可信赖的。从调用过程前直到过程返回后,常量参
数的值不会改变。
Procedure Foo( const I : Integer );
在 Foo 中无法改变 I ,结果在过程返回时 I 的值不会有任何变化。
传递只写参数
只写参数以out 关键字为前缀。out 关键字是为了与COM 接口兼容
而引入的。对被调用的过程来说,当参数声明中含有out 关键字时,该参
数的值没有任何特定的意义,而过程应该向该参数赋值。调用者可以预期
在过程返回时,out 参数已含有需要的值。
Procedure Foo( out I : Integer );
传给 Foo 的值将被废弃掉,当过程返回时对I 的改变将反映出来。在
使用引用传递参数这一点上,out 与var 相似。out 前缀是为支持COM而
添加的。
传值参数可在过程内部修改,但过程返回时该修改不会反映出来。不
加任何前缀,就表示该参数为传值参数。
Procedure Foo( I : Integer );
I 的值被传递到Foo 过程。当Foo 返回时,在Foo 中对I 的修改不会
反映到I。
传递引用参数
用引用传递参数意味着传递了指向实际数据的一个指针。如果用 var
前缀,即指定用引用传递参数。被调用过程会改变该参数,修改将对实际
数据进行,过程返回时可以看到改变。
Procedure Foo( var I : Integer );
I 作为变量传递。当Foo 返回时,在Foo 中对I 的改变将反映到作为
参数传递到Foo 的实际变量。
传递常量参数
常量参数是不可改变的,即“可以看不能碰”。应尽可能地使用常量
参数,因为常量参数是可信赖的。从调用过程前直到过程返回后,常量参
数的值不会改变。
Procedure Foo( const I : Integer );
在 Foo 中无法改变 I ,结果在过程返回时 I 的值不会有任何变化。
传递只写参数
只写参数以out 关键字为前缀。out 关键字是为了与COM 接口兼容
而引入的。对被调用的过程来说,当参数声明中含有out 关键字时,该参
数的值没有任何特定的意义,而过程应该向该参数赋值。调用者可以预期
在过程返回时,out 参数已含有需要的值。
Procedure Foo( out I : Integer );
传给 Foo 的值将被废弃掉,当过程返回时对I 的改变将反映出来。在
使用引用传递参数这一点上,out 与var 相似。out 前缀是为支持COM而
添加的。
相关文章推荐
- Delphi - 字符串 详解
- 分析函数调用堆栈的原理和Delphi实现
- Delphi关键字详解(转载自“万一”)
- Delphi 线程Timer (TThreadTimer)
- Delphi 调用 C++ 回调函数
- delphi RAD Studio新版本及路线图 及官方网站 官方 版本发布时间
- delphi 错误信息
- Delphi2007新功能 -- 有限的栈对象
- Delphi栈对象
- Delphi中的堆,栈
- Delphi字符串函数大全
- 当打开Delphi7,出现“borland license information was found,but it is not valid for delphi”的错误,无法运行的解决方法
- delphi 线程池基础 TSimplePool
- Delphi WebService 的编写、调试、发布(IIS)、调用
- delphi实现图象灰度处理的3种方法
- 一个使用秘钥加/解密字符串的delphi函数
- Delphi 10.1 Berlin下载破解激活
- 减小Delphi 2010/delphi XE编译出来的文件大小
- delphi删除只读文件
- Delphi 提示在Delphi的IDE中,按Ctrl+Shift+G键可以为一个接口生成一个新的GUID。