C++
文章平均质量分 57
fl_sw
呵呵
展开
-
C++重载运算符的规则
C++不允许用户自己定义新的运算符,只能对已经存在的运算符进行重载C++允许重载的运算符和不允许重载的运算符 重载不能改变运算符的优先级别重载不能改变运算符的结和性重载运算符的函数不能有默认参数重载不能改变运算符的运算对象的个数(即操作数)重载的运算符必须和用户定义类型的对象一起使用,其参数至少应有一个类对象用于类对象的运算符一般必须重载,但有两个例外,运算符“=”和“&...原创 2018-07-31 16:00:33 · 346 阅读 · 0 评论 -
c++对象模型(继承,虚拟继承,菱形继承)
谈及c++对象模型,内容还是比较繁复,为了便于理解,我将循序渐进的按照以下步骤说明: 1.对象模型是什么? 2.具体继承下的对象模型。 3.对象模型与内存对齐 4.多重继承 5.菱形继承 6.虚拟继承1.对象模型是什么? 一般的,C++中类的对象模型是这样的: 非静态的成员变量被配置于对象中,排列顺序和声明顺序一致 静态的成员变量则被存储在对象之外;存储在全局的数据段中,永远...原创 2018-08-14 22:03:36 · 530 阅读 · 0 评论 -
编译器产生默认构造函数的四种情境
编译器什么时候会合成默认的构造函数呢?class A{//没有构造函数public: int _val; int* p_val;};int main(){ A a; //在本句语句下断点,不会停在这里;没有执行点;没有生成构造函数 return 0;}编译运行这段代码,并没有构造函数被编译器合成,那么,什么时候编译器会合成默认的构造函数呢...原创 2018-08-12 13:43:23 · 316 阅读 · 0 评论