记录自己看这本书时的一些内容。

一、引用(reference)

引用为对象起了另外一个名字。例如:

int ival=1024;

int &relVal1=ival;//对,注意尽量不要用这方式:int& relval=ival;

int &relVal2;//报错,引用必须被初始化

在定义引用时,程序把引用和它的初始值绑定(binding)在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象始终绑定在一起。因为无法令引用重新绑定到另外一个对象,因此引用必须初始化。

注意以下定义方式:

int i=0;

int &relVal=i, r=i;////relval是引用,r不是

int &relVal=i, &r=i;//relval和r都是引用

二、指针(pointer)

今天看的指针类型主要是指针的简单定义以及使用,不涉及很难的应用,后续补充。

三、引用和指针混用

int i=3;

int &r=i;

int *p=&i;

int *&r1=p;//r1是一个队指针p的引用

因为引用不是一个对象,因此不能定义指向引用的指针。

四、const关键字和reference、pointer连用

1、

const int i=23;

const int &ref=i;//正确

ref=32;//错误

int &r1=i;//错误。试图让一个非const引用指向一个const对象会报错

2、

int i=234;

const int &ref=i;//正确,允许这样

const int &r2=24;//正确,允许这样

const int &r3=ref*2;//正确,允许这样

int &r4=ref*2;//错误,

3、const和pointer(常量指针和指针常量)

C++ primer第五版随笔--2015年1月6日的更多相关文章

  1. 实验楼课程管理程序-深入学习《C++ Primer第五版》实验报告&学习笔记1

    本片博客为实验楼的训练营课程深入学习<C++ Primer第五版>的实验报告和学习笔记. 原课程地址为:https://www.shiyanlou.com/courses/405# 原文出 ...

  2. C++ 11 从C++ primer第五版的学习笔记

    1. auto (page107) auto 推断会忽略const   const int ci = i, & cr = ci; auto b = ci; // b is an int (to ...

  3. C++PRIMER第五版练习题答案第一章

    C++PRIMER第五版练习题答案第一章 应该有很多小伙伴和我一样,闲来无事买了本C++的书自己啃,课后的练习题做的很揪心,这里我分享下我写的答案,希望能帮助到你,提供源码,就不跑了哈,毕竟现在是第一 ...

  4. 2015年12月28日 Java基础系列(六)流

    2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流

  5. 2015年12月13日 spring初级知识讲解(四)面向切面的Spring

    2015年12月13日 具体内容待补充...

  6. 2015年8月18日,杨学明老师《技术部门的绩效管理提升(研讨会)》在中国科学院下属机构CNNIC成功举办!

    2015年8月18日,杨学明老师为中国网络新闻办公室直属央企中国互联网络中心(CNNIC)提供了一天的<技术部门的绩效管理提升(研讨会)>培训课程.杨学明老师分别从研发绩效管理概述.研发绩 ...

  7. 2015年8月17日,杨学明老师《产业互联网化下的研发模式转型》在中国科学院下属机构CNNIC成功举办!

    2015年8月17日,杨学明老师为中国网络新闻办公室直属央企中国互联网络中心(CNNIC)提供了一天的<产业互联网化下的研发模式转型>内训课程.杨学明老师分别从产业互联网化的问题与挑战.传 ...

  8. 【C++】命令行Hangman #2015年12月15日 00:20:27

    增加了可以在构造Hangman对象时通过传入参数设定“最大猜测次数”的功能.少量修改.# 2015年12月15日 00:20:22 https://github.com/shalliestera/ha ...

  9. 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)

    作业二:三级菜单 三级菜单 可一次进入各个子菜单 思路: 这个题看似不难,难点在于三层循环的嵌套,我的思路就是通过flag的真假来控制每一层的循环的,简单来说就是就是通过给每一层循环一个单独的布尔变量 ...

随机推荐

  1. [解读REST] 4.基于网络应用的架构风格

    上篇文章介绍了一组自洽的术语来描述和解释软件架构:如何利用架构属性评估一个架构风格:以及对于基于网络的应用架构来说,那些架构属性是值得我们重点关注评估的.本篇在以上的基础上,列举一下一些常见的(RES ...

  2. Android忽略文件以及.gitignore规则不生效的可行解决方案

    github官方的忽略规则:https://github.com/github/gitignore/blob/master/Android.gitignore 我司项目中的忽略规则: *.iml .g ...

  3. 【小程序】微信小程序实现各种特效实例

    写在前面 最近在负责一个微信小程序的前端以及前后端接口的对接的项目,整体上所有页面的布局我都已经搭建完成,里面有一些常用的特效,总结一下,希望对大家和我都能有所帮助 实例1:滚动tab选项卡 先看一下 ...

  4. 《算法导论》学习总结 — XX.第22章 图的基本算法

    BFS(广搜): 广搜就是广度优先搜索,根据名字可以知道,是通过广度来遍历图,也就是层次遍历吧. 在这里以及下面的DFS(深搜),都用到了颜色WHITE,GRAY,BLACK,不过作用不同,具体分别再 ...

  5. thinkphp传参

    use think\Request; 写法1: $parms=Request::instance()->param(); $param=$params['键值']; 写法2: $request= ...

  6. 使用svn控制系统的优缺点和注意事项

    1.当无法连接到中央版本库的环境下,你无法提交代码,将代码加入版本控制.公司一般是局域网,所以使用环境问题不大. 2.svn的备份要备份所有代码数据以及所有更改的版本记录. 3.svn服务端运行方式: ...

  7. jquery.form.js的重置表单增加hidden重置代码

    jquery.form.js的resetForm()方法无法重置hidden元素,打开文件在1460行加上以下代码即可

  8. FPGA在其他领域的应用(三)

    广播领域: 专业的A/V(音频/视频),和演播室行业正在经历着激动人心的变化,例如,UHD/8K (超高清)视频.多平台内容交付.IP网络传输和云计算.2016里约奥运会使用4K分辨率视频播放,而日本 ...

  9. MongoDB学习教程(2)-常用命令

    1.MongoDB 创建数据库 use DATABASE_NAME,如果数据库不存在,则创建数据库,否则切换到指定数据库. > use test_0902 switched to db test ...

  10. 关于Struts与Ajax整合时的异常处理

     关于Struts与Ajax整合时的异常处理问题: 问题还原: 从而当有异常发出时,会将异常信息发送到页面上.如下图所示:这是一个比较经典的过程: 错误提示页面: 由于sendError()方法里 ...