- 博客(5)
- 收藏
- 关注
转载 字节对齐大全
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧. /******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个...
2018-04-23 15:39:00
145
转载 拷贝构造函数
为什么拷贝构造函数的参数只能用引用呢?这就要从拷贝构造函数式数码时候触发开始说起了,以下几种情况都会自动调用拷贝构造函数:1)用一个已有的对象初始化一个新对象的时候2)将一个对象以值传递的方式传给形参的时候3)函数返回一个对象的时候所以当一个对象以传递值的方式传一个函数的时候,拷贝构造函数自动的被调用来生成函数中的对象。如果一个对象是被传入自己的拷贝构造函数,它的拷贝构造函数将会被调用来拷贝这...
2018-04-23 14:29:44
168
转载 关于虚析构
虚析构一般伴随着多态而产生,多态主要方式就是用基类的指针或引用指向或引用派生类,而形成多态。但是这样就会存在一个问题,当我们析构的时候,由于是基类的指针,就会调用的是基类的构造函数,从而造成派生内存溢出。为了解决这个问题,引入了虚析构的概念。将基类的构造函数声明为虚,从而使其在调用析构函数的时候能够准确的调用派生类的析构函数。如下代码必须用到虚析构才能准确的析构派生类,并释放其占有内存。...
2018-04-23 14:09:32
170
转载 含有虚继承的派生类构造函数的写法
为何要用到虚继承?虚继承主要是针对多继承时,出现二义性问题而提出的。比如,如下代码就需要用到虚继承,否则的话Derived类继承时,Base类就会不明确。虚继承构造函数的执行按照如下步骤:1)传参 2)创建基类,注意这时候需要显示创建所有“有参构造函数”的基类,包括直接基类,间接基类。 3)给类数据成员开辟空间 4)执行冒号语法 5)执行构造函数函数体注:你可能会疑惑,如下代码不是将Bas...
2018-04-23 14:06:15
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅