
【02】C++
C++语言相关
神秘的火柴人
学习不是短时间的冲刺,而是有节制的坚持:)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深度探索c++对象模型(四)补充
1. 普通成员变量的存储顺序按照在类中定义的顺序 class A { public: int m_i; static int m_si; int m_j; static int m_sj; int m_k; static int m_sk; }; int main() { A a; a.m_i = 2; a.m_k = 5; a.m_j = 3; return 0; ...原创 2019-11-10 13:39:22 · 111 阅读 · 0 评论 -
基础01
文章目录1. 数组2. 字符串 1. 数组 字符数组 char ca[ ] = “C++”; 末尾自动添加null,ca长度为4。 在使用c风格字符串的标准库函数时,牢记参数必须以结束符null结束。 char ca[ ] = {‘c’, ‘+’, ‘+’}; cout<<strlen(ca)<<en原创 2019-03-15 10:24:52 · 172 阅读 · 0 评论 -
基础02
指针、引用 typedef:给已存在的类型起一个别名 cstr实际类型: 指向指针的指针 函数指针 引用做类的数据成员 必须用初始化列表初始化 必须自定义构造函数 ...原创 2019-03-24 14:20:52 · 138 阅读 · 0 评论 -
STL——容器
文章目录1. list2. vector3. deque3.1 push_back3.2 push_front3.3 重新配置map4. queue、stack 1. list 2. vector 在扩容时会调用大量的拷贝构造函数、析构函数 指向原vector的迭代器失效 3. deque 3.1 push_back 3.2 push_front 3.3 重新配置map 配置更大的,...原创 2019-06-25 09:59:31 · 132 阅读 · 0 评论 -
深度探索c++对象模型(一)
vs调试技巧: F5调试 F9加断点 shift+F9 :查看变量内存地址 1. 对象 1.1 sizeof(空类)== 1 1.2 类的成员函数不占用 类对象 的内存空间 1.3 静态成员变量属于类,不占用 类对象 的内存空间 1.4 虚函数 虚函数表一般是保存在可执行文件中的,在程序执行的时候载入到内存中来 ...原创 2019-08-16 14:05:35 · 163 阅读 · 0 评论 -
深度探索c++对象模型(二)
成员初始化列表 何时必须使用 成员是个引用 成员是const类型 继承的基类有一个有参的构造函数 有类类型的成员变量,并且该类的构造函数带有参数 注意: 若该类的构造函数带有参数并且参数带有默认值,可以不用参数列表 初始化列表的好处 没用初始化列表初始化类类型成员变量 结果 使用初始化列表 结果 结论:提高效率 注意点: 初始化列表中变量的初...原创 2019-08-16 14:05:49 · 154 阅读 · 0 评论 -
深度探索c++对象模型(三)
1. 验证vptr指针位置 环境:vs2019 结果 2. 通过对象的vptr指针来手动调用虚函数 结果 注意点: 若将类A中的虚函数改为private,运行结果相同。(不管公有还是私有,只要是虚函数,它的函数地址都会放在虚函数表vftable中) 3. ...原创 2019-08-27 19:50:43 · 152 阅读 · 0 评论 -
深度探索c++对象模型(四)
单一继承下数据成员布局 引入继承关系后,可能会带来内存空间的额外增加 class A { public: int a; int b; char c; char d; }; int main() { cout << sizeof(A) << endl; return 0; } 结果: class A { public: int a; int...原创 2019-09-04 08:07:21 · 159 阅读 · 0 评论 -
深度探索c++对象模型(五)
1. 虚继承的引入(解决访问二义性) class A { public: int m_a; }; class B:public A { public: }; class C :public A { public: }; class D :public B, public C { public: }; int main() { D d; d.m_a = 5; //error...原创 2019-09-05 22:23:55 · 123 阅读 · 0 评论