C++ - 引用的概念

2016-01-12  本文已影响61人  Mitchell
int n = 4;
int &r = n;//r 引用了 n,r 的类型是 int&
int n = 7;
int & r = n;
r = 4;
cout << r;//输出 4
cout << n;//输出 4
n = 5;
cout << r; //输出5

注意:

double a = 4,b = 5;
double & r1 = a;
double r2 = r1;
r2 = 10;
cout<<a <<endl;//10
r1 = b;
cout<<a <<endl;//5

交换两个整形变量值的函数

//C 语言中的写法,使用指针,写法比较丑陋
void swap(int *a,int *b){
  int tmp;
tmp = *a;*a = *b;*b = tmp;
}
int n1,n2;
swap(&n1,&n2);
//C++,使用引用,比较清晰
void swap(int&a,int&b){
  int tmp;
tmp = a;a= b;b = tmp;
}
int n1,n2;
swap(n1,n2);

引用作为函数的返回值

int n = 4;
int & SetValue(){return n;}
int main()
{
    SetValue() = 40;
    cout<<n;
    return 0 ;
}//返回一个全局变量 n 的引用,对这个引用进行新的赋值为40,那么打印结果就是40.

常引用

不能通过常引用去修改其应用的内容

int n =100;
const int & r = n;
r = 200;//报错(常引用的内容不能被修改,但是不意味着常引用的内容不能被修改。)
n = 300;//没问题

常引用和非常引用的转换

count T &和 T&是不同的类型!!!

上一篇 下一篇

猜你喜欢

热点阅读