C++中,&符号有两层含义:
1、获取某变量或对象的内存地址;
2、定义变量的别名,也就是定义引用常量。
&符号的位置决定它的意义,放到等号=后边表示获取变量的内存地址,放到=前边就表示定义变量的别名,详见下面的例子:
1. 获取内存地址:
int a =5;
int *p=&a;
表示:有一个值为5的整型变量a,有一个p指针保存了它的内存地址。
2.引用常量:
int a=5;
int &b=a;
表示:有一个值为5的整型变量a,它有一个别名叫做b。
这里的变量b只是a的一个别名,就像一个人有自己的关名和小名,指的都是同一个人,b和a具有相同的内存地址。
另外,&还有位与和逻辑与运算(&&)的功能,这里不做讨论的重点。