c++中&的用法
2015-12-05 · 做真实的自己 用良心做教育
在c++里,除了c语言的功能之外,还代表“引用”
只能在创建变量的时候使用,格式是:类型 &变量名=另一个变量。如:
inta=0,&b=a,c;
声明三个变量a、b、c,b和a等价,c是独立的变量
注意:
类型标识符是指目标变量(等于号右边)的类型。
声明引用时,必须同时对其进行初始化,不能让他指向其他变量。
引用的声明符放置在变量名的前面,和*操作符的用法一样
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。 ra=1; 等价于 a=1;
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。&ra与&a相等。
可以建立数组的引用。
#include<iostream> using namespace std; int main() { int m[10]={1,2,3,4,5,6,7,8,9,10}; int (&n)[10]=m; for(int i=0;i<10;i++) cout<<m[i]<<' ' ; cout<<endl; for( i=0;i<10;i++) cout<<n[i]<<' ' ; cout<<endl; return 0;}
1、位运算符,按位与
2、取地址运算符,取得对象的地址
3、引用,一个变量的别名
int a=0;
int *p=&a;
引用 例如
int b=0;
int &c=b;
按位与操作
int d=0;
int e=1;
int f=d&e;
那么这里呢void change(string &,string &);
这是引用
原型void change(string &a, string &b);
当给change函数传入实参(c,d)时,就相当于string &a=c, string &b=d;
亦即将c,d的引用当做实参,可以不用生成一个副本,也可以在函数中同时修改实参。