随笔分类 -  C++ Primer

摘要:前言 静态内存用来保存局部static对象,类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。分配在静态或栈内存中的对象由编译器自动创建和销毁。对于栈对象,仅在其定义的程序块运行时才存在;static对象在使用之前分配,在程序结束时销毁。 <! mo 阅读全文
posted @ 2017-02-15 06:40 banananana 阅读(281) 评论(0) 推荐(0) 编辑
摘要:前言 最近在看C++ Primer的时候,对于对象移动一直不太懂,所以在查找各种资料,仔细研究代码后,打算写篇博客记录下来,果然还是不要得过且过,看见不懂的就查,弄懂为止最好了。 <! more 对象移动 很多时候都会发生对象拷贝,但是拷贝有个问题,对于有些仅仅做完拷贝就销毁的情况,其实没必要,更好 阅读全文
posted @ 2017-02-15 06:39 banananana 阅读(266) 评论(0) 推荐(0) 编辑
摘要:1. 派生类的成员将隐藏同名的基类成员; 2. 除了覆盖继承而来的虚函数之外,派生类最好不要重用其他定义在基类中的名字; 3. 函数调用的解析过程对于理解继承重要; 假如调用obj func( ),将依次执行以下4个步骤: 首先确定对象obj的静态类型;因为我们调用的是一个成员,所以该类型必然是类类 阅读全文
posted @ 2017-02-15 06:39 banananana 阅读(343) 评论(0) 推荐(0) 编辑
摘要:简介 类型转换的安全问题是需要考虑的重点: 1. 首先是类型的窄化转化,导致数据的丢失; 2. 接着是在类继承链中,将父亲对象的地址(指针)强制转换为子类的地址(指针),这就是所谓的下行转换,“下”表示沿着继承链往下走(子类的方向);反之上行转换,“上”表示沿着继承链往上走(父类的方向); 我们知道 阅读全文
posted @ 2017-02-15 06:32 banananana 阅读(326) 评论(0) 推荐(0) 编辑
摘要:简介 在C++ Primer中,是这样定义的 一个lambda表达式表示一个可调用的代码单元,可以将其理解为一个未命名的内联函数;与任何函数类似,一个lambda具有一个返回类型,一个参数列表和一个函数体,但和函数不同,lambda可能定义在函数内部。 形式 表达式规范如下: 其中 (1) 是完整的 阅读全文
posted @ 2017-02-15 06:30 banananana 阅读(409) 评论(0) 推荐(0) 编辑
摘要:前言 最近在看C++ Primer的时候,对于对象移动一直不太懂,所以在查找各种资料,仔细研究代码后,打算写篇博客记录下来,果然还是不要得过且过,看见不懂的就查,弄懂为止最好了。 <! more 对象移动 很多时候都会发生对象拷贝,但是拷贝有个问题,对于有些仅仅做完拷贝就销毁的情况,其实没必要,更好 阅读全文
posted @ 2017-02-15 06:29 banananana 阅读(1143) 评论(0) 推荐(0) 编辑
摘要:之前只是在C++ Primer里面看过关联容器,可能因为没有实际用过,只是看看,所以导致用的时候并不熟悉; 在这之前,map和set的特性应该要了解,map是关联数组,也就是由键值对组成的,而set只是关键字的集合,但是两者都只允许关键字是唯一的,也就是对于一个给定的关键字,它只能允许一个元素的关键 阅读全文
posted @ 2017-02-15 06:25 banananana 阅读(534) 评论(0) 推荐(0) 编辑
摘要:前言 最近在看C++ Primer的时候,对于对象移动一直不太懂,所以在查找各种资料,仔细研究代码后,打算写篇博客记录下来,果然还是不要得过且过,看见不懂的就查,弄懂为止最好了。 <! more 对象移动 很多时候都会发生对象拷贝,但是拷贝有个问题,对于有些仅仅做完拷贝就销毁的情况,其实没必要,更好 阅读全文
posted @ 2016-11-06 07:53 banananana 阅读(346) 评论(0) 推荐(0) 编辑
摘要:前言 静态内存用来保存局部static对象,类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。分配在静态或栈内存中的对象由编译器自动创建和销毁。对于栈对象,仅在其定义的程序块运行时才存在;static对象在使用之前分配,在程序结束时销毁。 <! mo 阅读全文
posted @ 2016-09-21 17:17 banananana 阅读(182) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示