c++中的引用(别名)
2015-07-31 15:04
274 查看
主要用于做函数的形式参数。
引用是复合类型,通过在变量前添加&符号来定义。不能定义引用类型的引用!!除了作为形参,定义引用时必须初始化!!
如:
int ival= 1024;
int&ref = ival;
int&ref1;
error
int&ref2 = 10;
error,必须关联到一个对象
ps:不能将引用再绑定到另一个对象!!
const引用是指向const对象的引用,可以读取但不能修改const引用。
constint ival = 1024;
int i =10;
constint &ref = ival;
constint &r = 42;
right!不同于普通引用!
constint &r2 = r+i; right!不同于普通引用!
int&ref2 = ival;
error!普通引用!
1、非const引用只能绑定到与该引用同类型的对象。
doubledval = 3.14;
int&ri = dval;
上述代码会被编译器解释为:
doubledval = 3.14;
int temp= dval;
int&ri = temp;
所以改变ri不会修改dval,而是修改了temp。所以建议给ri加上const,即const int &ri=dval;
2、const引用可以绑定到不同但相关类型的对象或绑定到右值。
20、typedef
e.g. typedef int exam_score;
typedef double wages;
引用是复合类型,通过在变量前添加&符号来定义。不能定义引用类型的引用!!除了作为形参,定义引用时必须初始化!!
如:
int ival= 1024;
int&ref = ival;
int&ref1;
error
int&ref2 = 10;
error,必须关联到一个对象
ps:不能将引用再绑定到另一个对象!!
const引用是指向const对象的引用,可以读取但不能修改const引用。
constint ival = 1024;
int i =10;
constint &ref = ival;
constint &r = 42;
right!不同于普通引用!
constint &r2 = r+i; right!不同于普通引用!
int&ref2 = ival;
error!普通引用!
1、非const引用只能绑定到与该引用同类型的对象。
doubledval = 3.14;
int&ri = dval;
上述代码会被编译器解释为:
doubledval = 3.14;
int temp= dval;
int&ri = temp;
所以改变ri不会修改dval,而是修改了temp。所以建议给ri加上const,即const int &ri=dval;
2、const引用可以绑定到不同但相关类型的对象或绑定到右值。
20、typedef
e.g. typedef int exam_score;
typedef double wages;
相关文章推荐
- C/C++_sizeof的本质与使用注意事项
- C语言经典算法例题求100-999之间的“水仙花数
- C语言编程入门——if的用法
- c/c++中运行外部程序
- 黑马程序员---iOS基础---C语言中的常见错误
- c语言mysql数据库事务开始、提交、回滚范例
- C语言编程入门——HelloWorld!
- c语言详解+例子1
- C、C++、C#、Java、php、python语言的内在特性及区别
- 一道逻辑推理题的C++实现
- 自相关函数及c++程序
- curllib上传文件c/c++
- C++导出函数,C++Invoke再次封装,C#调用
- C语言的标准化
- 在C语言中 i++与++i的区别
- C语言的inline
- C#与VC++数据类型对应关系
- c语言中的宏,#号##号,可变参数
- 动态规划之Jury Compromise
- C语言字节对齐