C++primer: 引用与 const 引用
1.什么是引用?
int ival = 1024;
int& refVal = ival;// ok:refVal refer to ival
int& refVal2; //error: a reference must be innitialized
int& refVal3 =10; //error: cannot take type"int" to "int&"
引用就是一个别名!!!
因为引用只是他绑定的对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上!!!
2.如何定义多个引用?
C++允许在一个定义行中定义多个引用。但是,必须在每个引用标识符前添加“&”符号:
3. const 引用
const引用是指向const类型的引用!
const int ival = 1024;
const int& refVal = ival; // ok: both reference and object are const
int& refVal2 = ival; // erroe: non const reference to a const object
经过const限定符修订后,我们可以读取但是不能修改refVal,因此,任何对refVal得再次赋值都是非法的。这个限定是有意义的,不能直接对ival赋值,因此不能通过refVal来修改ival;
经过const限定后,我们就可以初始化为右值,如字面值常量:
int ival = 42;
// legal for const reference only
const int& refVal = 42;
const int& refVal = ival +1;
需要注意的是,同样的初始化方法对于非const引用是不合法的,并且会导致编译的错误。
C++primer: 引用与 const 引用相关推荐
- 引用和const 引用的区别(转自chinaitlab)
原文地址:http://c.chinaitlab.com/basic/747981.html 1)在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数. 引用必须初始化. 但是用 ...
- 【C++---const引用】数组进行指针引用传递给函数error: non-const lvalue reference of type ‘int*‘ to an rvalue
目录 原因 类型转换 手动转换 自动转换 关于临时量 关于常量引用(const的引用) const引用的对象不是不能被修改了吗,这里为什么被修改了? 不是说是const引用吗?为什么又变成了引用所绑定 ...
- 《C++ Primer 第五版》第二章(1-4小节)------基本内置类型,初始化和赋值及声明和定义,指针和引用,const和constexpr
C++ Primer第二章的内容主要介绍了变量和基础类型,包括C++语言定义的基础内置类型.变量的定义及声明.符合类型如指针及引用的介绍和const及常量表达式constexpr的介绍,本次博客也从这 ...
- C++ Primer 5th笔记(2)chapter 2变量和基本类型:引用、const
1.引用refrence 定义:给对象起另外一个名字. 1.1 是两个类型一样的对象之间的: eg. int &i = 10;//错误double &f = i;//错误 引申:上面的 ...
- (4)风色从零单排《C++ Primer》 变量,引用,指针
从零单排<C++ Primer> --(4)变量,引用,指针 变量的初始化 所谓变量的初始化,指在创建变量的同时给予值. 初始化方法: int units_sold = 0; int ...
- 指针、引用、const、类的浅显理解
指针.引用.const.类的浅显理解 一.引用 1.1 理解与实验 和const 1.1.1 实验一 1.1.1 实验二 二.指针 三.指针和引用的区别 四.const(const和pointer) ...
- C++ 笔记(15)— 引用(声明引用、引用作为参数、引用作为函数返回值、const 用于引用)
引用是变量的别名.也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量. 1. 创建引用 要声明引用,可使用引用运算符 & ,如下面的 ...
- const引用和非const引用
const引用可以初始化为不同类型的对象或者初始化为右值,同样的初始化对于非const引用却是不合法的. 非const引用只能绑定以与该引用同类型的对象中. const引用则可以绑定到不同但相关的类型 ...
- C++中const引用和非const引用的使用注意
今天学习时突然有疑惑,C++有了指针为何还要设计引用呢?后来看到一篇博客豁然开朗:为什么 C++ 有指针了还要引用? 总结一下: 代码更加简洁好看了 由于引用必须被初始化,并且之后也无法重新绑定其他对 ...
最新文章
- BCH进入广告行业,将会碰撞出什么样的火花
- Verilog Design's Tips
- 今日arXiv精选 | 18篇近期值得关注的Transformer工作
- python获取当前路径下所有文件
- 通过ssh访问Back Track 5
- python mongodb查询_Python MongoDB 查找
- python3安装第三方库教程
- 02-CSS基础与进阶-day9_2018-09-12-20-29-40
- Android+Jquery Mobile学习系列(3)-创建Android项目
- java去掉边框_java swing怎么去掉边框
- 不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视(mp4 格式)
- 计算机上图片打不开,为什么电脑图片打不开_解决电脑图片打不开的四种方法...
- Python 之 类 (Tom猫)
- 城市中心、华为、软通动力智慧城市联合解决方案发布
- 【算法】深度搜索(DFS) 和 广度搜索(BFS)
- java项目开发案例 报销_java19134企业员工出差报销预算管理系统-SSH-Mysql
- 一共81个,开源大数据处理工具汇总(下)转
- Python条码识别:使用Python进行条形码识别的详细教程
- salesforce中常用技能总结(纯粹干货,深度积累)图解
- python做情感分析