您的位置:首页 > 编程语言 > C语言/C++

C++ 引用形参和指针形参

2015-09-26 12:48 316 查看
从引用形参和非引用形参的区别来看,似乎任何时候使用引用形参都指针好, 既少了实参到形参拷贝的开消,也同样可以操作(非const )实参。

那指针形参有没有什么优点呢?

1. 指针形参比引用形参更能清晰的向函数调用者表明函数可能会修改实参数

void f1(int * a);

void f2(int &a);

int main()

{  

int b=10;

f1(&b);

f2(b);

}

在函数定义不可知或没有查看函数定义时,指针形参的函数调用传递的是地址, 非常明显的表明函数可能会修改实参。而引用形参的调用和普通形参的调用一样,没有这个效果

=======================================================

对于引用,有以下三条规则:

(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 

(2)不能有NULL 引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 

(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: