P1 引用
·某个变量的引用,等价于这个变量,相当于该变量的一个别名
·定义引用时一定要将其初始化成引用某个变量
·初始化后,它就一直引用该变量,不会再引用别的变量了
·引用只能引用变量,不能引用常量或者表达式
引用的概念:
int n=7;
int &r =n;//r引用n
r=4;
cout<
C语言中,如何编写交换两个整型变量值的函数?
void swap(int *a,int *b)
{
int tmp;
tmp=*a;*a=*b;*b=tmp;
}
int n1,n2;
swap(&n1,&n2);//n1,n2的值被交换
有了C++的引用:
void swap(int&a,int&b)
{
int tmp;
tmp=a;a=b;b=tmp;
}
int n1,n2;
swap(n1,n2);//n1,n2的值被交换
引用作为函数的返回值:
int n=4;
int &SetValue(){ return n;}
int main()
{
SetValue()=40;
cout<
函数返回值引用n,对函数调用返回的结果可以赋值。
常引用:定义引用时,前面加const关键字,即为“常引用”:
int n;
const int &r=n;
r的类型是 const int &
·不能通过常引用去修改其引用的内容:
int n=100;
const int &r=n;
r=200;//编译错
n=300;//没问题
常引用和非常引用的转换:
const T& 和T&是不同的类型!
T&类型的引用或T类型的变量可以用来初始化const T&类型的引用。
const T类型的常变量和const T&类型的引用则不能用来初始化T&类型的引用,除非进行强制类型转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)