![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cpp对象模型
earlene_wyl
这个作者很懒,什么都没留下…
展开
-
深度探索cpp对象模型(4)
参考:http://www.roading.org/develop/cpp/%E3%80%8A%E6%B7%B1%E5%BA%A6%E6%8E%A2%E7%B4%A2c%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B%E3%80%8B%E7%AC%94%E8%AE%B0%E6%B1%87%E6%80%BB.htmlhttps://zhuanlan.zhihu.com/p...原创 2019-04-12 01:17:07 · 510 阅读 · 0 评论 -
深度探索cpp对象模型(1)(2)
第一章 关于对象指针其实存的就是一个地址,不管啥类型的指针大小都是一样的,对不同类型的指针,怎么知道要读多少字节,这是编译器干的事情,指针类型告诉编译器,我到底要读多少字节。32位,指针大小4个字节,64位8个字节由此引申开来,不能用void * 操作对象,针对void *指针的static_cast,其实是一种编译器指令,并没有改变一个指针所含的地址第二章 构造函数语意学...原创 2019-05-18 11:46:47 · 285 阅读 · 0 评论 -
深度探索cpp对象模型(3)
data语意学空类(啥都没有),但是其大小是1byte,编译器塞给它一个char,为了让这个类的每个对象都有唯一的地址。64位机子 指针8 byte 32位 4 byte内存对齐:什么是内存对齐?把每一个数据单元放在适当的位置,比如对齐系数是4,一个struct里面有一个char,一个int,它的sizeof结果不是5,而是8,因为char后面加了3个byte。为什么?cpu读写内存是...原创 2019-04-09 20:14:29 · 233 阅读 · 0 评论 -
深度探索cpp对象模型(5)
构造、析构、拷贝语意学构造函数不能是虚函数几个类设计原则:1.即使是一个抽象基类,如果它有非静态数据成员,也应该给它提供一个带参数的构造函数,来初始化它的数据成员。或许你可以通过其派生类来初始化它的数据成员(假如nostatic data member为publish或protected),但这样做的后果则是破坏了数据的封装性,使类的维护和修改更加困难。由此引申,类的data memb...原创 2019-04-16 14:25:27 · 195 阅读 · 0 评论 -
c++11 pod类型(了解)
转载自:https://www.cnblogs.com/zzyoucan/p/3918614.html啥是POD类型?POD全称Plain Old Data。通俗的讲,一个类或结构体通过二进制拷贝后还能保持其数据不变,那么它就是一个POD类型。平凡的定义1.有平凡的构造函数2.有平凡的拷贝构造函数3.有平凡的移动构造函数4.有平凡的拷贝赋值运算符5.有平凡的移动赋值运算符6....转载 2019-04-16 13:39:06 · 295 阅读 · 0 评论