
【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 · 106 阅读 · 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 · 169 阅读 · 0 评论 -
基础02
指针、引用typedef:给已存在的类型起一个别名cstr实际类型:指向指针的指针函数指针引用做类的数据成员必须用初始化列表初始化必须自定义构造函数...原创 2019-03-24 14:20:52 · 124 阅读 · 0 评论 -
STL——容器
文章目录1. list2. vector3. deque3.1 push_back3.2 push_front3.3 重新配置map4. queue、stack1. list2. vector在扩容时会调用大量的拷贝构造函数、析构函数指向原vector的迭代器失效3. deque3.1 push_back3.2 push_front3.3 重新配置map配置更大的,...原创 2019-06-25 09:59:31 · 117 阅读 · 0 评论 -
深度探索c++对象模型(一)
vs调试技巧:F5调试F9加断点shift+F9 :查看变量内存地址1. 对象1.1 sizeof(空类)== 11.2 类的成员函数不占用 类对象 的内存空间1.3 静态成员变量属于类,不占用 类对象 的内存空间1.4 虚函数虚函数表一般是保存在可执行文件中的,在程序执行的时候载入到内存中来...原创 2019-08-16 14:05:35 · 152 阅读 · 0 评论 -
深度探索c++对象模型(二)
成员初始化列表何时必须使用成员是个引用成员是const类型继承的基类有一个有参的构造函数有类类型的成员变量,并且该类的构造函数带有参数注意:若该类的构造函数带有参数并且参数带有默认值,可以不用参数列表初始化列表的好处没用初始化列表初始化类类型成员变量结果使用初始化列表结果结论:提高效率注意点:初始化列表中变量的初...原创 2019-08-16 14:05:49 · 145 阅读 · 0 评论 -
深度探索c++对象模型(三)
1. 验证vptr指针位置环境:vs2019结果2. 通过对象的vptr指针来手动调用虚函数结果注意点:若将类A中的虚函数改为private,运行结果相同。(不管公有还是私有,只要是虚函数,它的函数地址都会放在虚函数表vftable中)3....原创 2019-08-27 19:50:43 · 142 阅读 · 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 · 148 阅读 · 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 · 115 阅读 · 0 评论