C++引用
来源:互联网 发布:淘宝电商差评怎么回复 编辑:程序博客网 时间:2024/05/01 03:01
一. C++中的引用
引用(reference)实际上是为对象定义了一个别名,主要用作函数的形参。
引用通过在变量名前加上"&"符号来定义。
例如:
二. 引用作为形参
下面的例子,交换两个变量的值:
C++中也可以通过引用来完成:
三. 指针与引用的区别:
. 指针可以赋值为NULL,但是引用定义的时候必须初始化,没有NULL引用的说法。
. 引用初始化时一旦关联了一个对象,那么后面就不能将这个引用关联到其他对象了,而指针是可以改变的。
. 指针是一个变量,而引用只是对象的一个别名。
引用(reference)实际上是为对象定义了一个别名,主要用作函数的形参。
引用通过在变量名前加上"&"符号来定义。
例如:
int ival = 1024;int &refVal = ival;// ok: refVal refers to ivalint &refVal2;// error: a reference must be initializedint &refVal3 = 10;// error: initializer must be an object
注意引用是为对象定义的一个别名,操作引用时实际上是引用所指的对象,例如:
refVal += 2;
实际上是将revVal所指的对象ival加2。
类似的:
int ii = refVal;
实际上是将ival赋值给ii。
const引用,是指指向const对象的引用:
const int ival = 1024;const int &refVal = ival;// ok: both reference and object are constint &ref2 = ival;// error: non const reference to a const object引用加上const的意义在于既不能直接修改ival的值,也不能通过引用refVal来修改ival。
二. 引用作为形参
下面的例子,交换两个变量的值:
// incorrect version of swap: The arguments are not changed!void swap(int v1, int v2){int tmp = v2;v2 = v1;// assigns new value to local copy of the argumentv1 = tmp;}swap本意是想交换v1、v2两个变量的值,但这里却不能实现,因为函数形参只是传递变量的一个拷贝,而不是变量本身(C中可以通过指针来完成)。
C++中也可以通过引用来完成:
// ok: swap acts on references to its argumentsvoid swap(int &v1, int &v2){int tmp = v2;v2 = v1;v1 = tmp;}因为操作引用实际上引用所指向的对象,所以这里交换两个变量的值是能够实现的。
三. 指针与引用的区别:
. 指针可以赋值为NULL,但是引用定义的时候必须初始化,没有NULL引用的说法。
. 引用初始化时一旦关联了一个对象,那么后面就不能将这个引用关联到其他对象了,而指针是可以改变的。
. 指针是一个变量,而引用只是对象的一个别名。
0 0
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- C/C++:C++引用
- 【c/c++】const引用
- 【C/C++】c++弱引用 强引用
- 枚举 c#(引用)
- 数组引用(C++)
- C++_引用
- c语言中的引用
- (Linux,c++)引用
- 引用(C++)
- objective-c 引用计数
- C#导出EXCEL文件,过长的数值被显示为科学技术法
- TextUtils类中的isEmpty,isDigitsOnly
- 产生数
- qt qml 刮刮卡效果
- H.264编解码技术[原始积累二]
- C++引用
- JAVA中堆和栈的区别
- HashMap解决hash冲突的方法
- NOIP2016提高组复赛赛后总结
- Android无源码调试Native代码(使用GDB)
- rabbitmq集群节点操作
- 深度学习-利用卷积网络识别动物
- Git图文教程:从零到上传GitHub项目
- NOIP2016 提高组 题解