C++_面向对象
C++_面向对象
HelloBugs88
这个作者很懒,什么都没留下…
展开
-
<一>C++ 对象内存模型——继承
C++继承对象内存模型原创 2023-11-28 16:08:09 · 449 阅读 · 0 评论 -
<三>特殊成员函数与三法则
特殊成员函数与三法则(Rule of Three)• 四大特殊成员函数• 默认构造函数(无参), 如果不定义任何拷贝构造,编译器自动生成• 析构函数/ 拷贝构造函数/ 赋值操作符,如果不定义,编译器自动生成• 使用default 让编译器自动生成。• 使用delete 让编译器不要自动生成。• 三法则:析构函数、拷贝构造函数、赋值操作符三者自定义其一,则需要同时定义另外两个,特别是有堆对象指针成员(编译器自动生成的一般语义错误)。(C++98)原创 2023-11-22 10:02:50 · 56 阅读 · 1 评论 -
<二>C++对象模型基础
• 按照实例数据成员声明顺序从上到下排列(与C语言保持兼容)• 对象内存对齐是为了优化CPU存储数据效率、避免数据截断。• 可使用#pragma pack(4)控制。• 简单优化:长字段放前,短字段置后(聚集)• 按对齐系数(4字节、8字节)整倍数。虚函数指针占用一个指针size。• C++对象内存布局。• 内存对齐与填充——原创 2023-11-20 15:01:41 · 41 阅读 · 1 评论 -
<一>基于对象编程
• 数据成员(字段) + 函数成员。• 实例成员与this指针。原创 2023-11-20 14:45:58 · 44 阅读 · 1 评论