c++Lesson03 引用
来源:互联网 发布:w2003办公软件下载 编辑:程序博客网 时间:2024/06/05 01:57
引用相当于是一个变量的别名,必须指向变量,比如
int val=100;int &refval=val;int*p=&val;//指针与引用不同在于,指针指向的变量可以修改
声明引用变量时候必须初始化,一经申明不可变更
int rat;int & rodent;rodent=rat//错误,不能像指针那样先申明再赋值int a,b;int&r=a;int&r=b;//错误,不能更改原有的引用关系
可以对引用再次引用,多次引用的结果是一变量具有多别名
int a;int &r=a;int &rr=r;//可以,表示a有两个别名,分别是r和rr
引用有点接近const,必须在创建时初始化,一旦产生关联将一直效忠下去
int &rodents=rats;int *const ptr=&rats//rodents扮演的角色和表达式*ptr一样
常引用
const引用的目的是:禁止通过修改引用值来修改被引用的对象
普通引用绑定到const是不合法的,比如
const int a =1;int &b=a;//编译不通过,a为const表示不能被修改,必须使用const引用
double val=3.14;const int &ref=val;double &ref2=val;cout<<ref<<" "<<ref2<<endl;val=4.14;cout<<ref<<" "<<ref2<<endl;//结果是 3 3.14 3 4.14
由于ref为const,初始化给定的值无法被修改,而val是非const的,所以会改变ref2的值
按引用传递
在参数中放入引用类型,传递的是本身的(的地址),将参数作为变量使用,作用于外部
void swap(const int&rhs,const int&lhs)//可以规避改变外部值的危险
0 0
- c++Lesson03 引用
- c语言lesson03
- NEHE的OpenGL代码Lesson03
- Lesson03:HTML 5 Video + DOM
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- NeHe教程Qt实现——lesson03
- iOS OpenGL ES2.0教程 Lesson03 旋转
- C/C++:C++引用
- 【c/c++】const引用
- 【C/C++】c++弱引用 强引用
- 枚举 c#(引用)
- poj2001
- 使用Jquery设计列表
- nbt
- ubuntu安装hadoop2.7.3集群
- android集成支付宝教程
- c++Lesson03 引用
- Windows下一键更新Chromium Snapshot绿色版批处理文件
- 11g rac ASM下最简单归档开启方法
- 关于指针下行转换后,内存越界访问的问题
- LeetCode 392. Is Subsequence
- GBDT算法原理深入解析
- A. Checking the Calendar
- Android ScrollView自动滚屏或者直接滚屏到底部
- 第二章 视觉特性和彩色电视信号