C++中&的用法?

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:46:51
C++中&的用法? 函数f的原型是:void f(int *a,long &b);以及f(&v1,v2);。

有返回类型的是引用,没返回类型是取地址

这是引用符号,或者为操作里面的"按位与"
这个函数申明指定了两个参数,一个是int指针,一个是long引用
指针不用说了吧

引用是对已有变量取的别名,通过新名字操作就变量
引用和用来初始化它的变量是同一个实体

使用引用的规则:
1. 初始化后,不能改变引用的值
2. 不能创建指向引用的指针(不能int*& abc)
3. 不能比较两个引用的值,可比较被引用变量的值。
4. 不能使引用的值加,减和改变,但对被引用变量的值可以
5. 有void指针,没有void引用;有空指针,无空引用。
6. 不能建立引用数组。
7. 没有引用的引用,但可以使用引用来初始化原始变量的另一个引用
int i=3; int&j=i; int &k=j;/*正确*/ /* int &&k=j; 错误 */
数据参数通过引用传递给函数,不会在函数中从新创建变量或对象
可以大大节省了资源浪费,特别是传递对象的时候
和传地址对比下,引用传递更加安全,可靠,也大大增加了程序代码的可读性

表示引用,是对一个其它变量的别名,在函数体内会改变该变量,而且不用从形参到实参的copy

void f(int *a,long &b);中的&是引用
f(&v1,v2);中的&是取地址

至于什么是引用,什么是取地址,就自己google一下吧

1: int a; int &as a :此处as为对变量a的引用 即as等同a,对as,a操作等同于对a或as进行操作
2: int *p ,a=9 ; p=&a :此处&作为取地址