摘要: 配置文件CoverageInfo 我们需要获取配置文件里面的值,有下列方法: 方法一: 方法二: 阅读全文
posted @ 2017-04-23 22:22 Memset 阅读(9954) 评论(0) 推荐(0) 编辑
摘要: 执行期语意学,即在程序执行时,编译器产生额外的指令调用,确保对象的构造,内存的释放,以及类型转换与临时对象的生成的安全进行。 1、对象的构造和析构 对于类对象的构造,一般在定义之后则开始内部的构造过程。一个区段可能有多个return离开点,所以可能导致一些对象创建后,没有用就需要释放,这就造成了很多 阅读全文
posted @ 2017-04-23 22:03 Memset 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1、构造语义学 C++的构造函数可能内带大量的隐藏码,因为编译器会扩充每一个构造函数,扩充程度视 class 的继承体系而定。一般而言编译器所做的扩充操作大约如下: 如果该类被列于成员初始化列表中,那么如果有任何明确指定的参数,都应该传递过去。若没有列于列表之中,虚基类的一个默认构造函数被调用(有的 阅读全文
posted @ 2017-04-23 21:54 Memset 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1、Member的各种调用方式 1.1 Nonstatic Member Functions 实际上编译器是将member function被内化为nonmember的形式,经过下面转化步骤: 1.给函数添加额外参数——this。 2.将对每一个nonstaitc data member的存取操作改 阅读全文
posted @ 2017-04-23 21:13 Memset 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 1、 Data Member 的布局 同一个Access Section(private, public等)中,data member的顺序按照声明顺序排列,但是没有规定需要连续排序。同时编译器可能会安插一些内部的data member(比如vptr),用来支持整个对象模型。 不同Access Se 阅读全文
posted @ 2017-04-23 20:58 Memset 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1、Default Constructor 当编译器需要的时候,default constructor会被合成出来,只执行编译器所需要的任务(将members适当初始化)。 1.1 带有 Default Constructor 的Member Class Object 编译器的出来是:如果一个cla 阅读全文
posted @ 2017-04-23 20:42 Memset 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1、C/C++区别 C++较之C的最大区别,无疑在于面向对象,C程序中程序性地使用全局数据。而C++采用ADT(abstract data tpye)或class hierarchy的数据封装。类相较于C的struct不仅只包含了数据,同时还包括了对于数据的操作。在语言层面上C++带来了很多面向对象 阅读全文
posted @ 2017-04-23 20:26 Memset 阅读(286) 评论(0) 推荐(0) 编辑