C++面向对象进阶知识点总结
1.不包含pointer类的设计原则
- 数据放在private;
- 函数参数尽量传reference;
- 函数返回值尽量传reference(local obj 不能返回引用);
- 函数如果需要加const就要加;
- 构造函数尽量使用initial list;

2.包含pointer类的设计原则
- 必须写析构函数
- 必须重写拷贝构造函数和拷贝赋值函数



3.栈、堆与内存管理
- new关键字先分配内存再调用构造函数,delete关键字先调用析构函数再释放内存。
- 动态分配的数组必须使用delete[] 来释放内存,防止内存泄露。
4.转换函数
转换方式1:

转换方式2:

不确定的转换方式,编译器将会报错

明确编译器不能使用构造函数进行转换,所以编译器报错。

5.Pointer-like classes
5.1 智能指针
智能指针内部重载了*和->符号

5.2 迭代器

6.vptr、vtbl

7.const对象的调用问题

本文总结了C++面向对象编程的基本设计原则,包括不含指针类和含指针类的设计区别,深入探讨了栈、堆内存管理及智能指针等概念。同时,介绍了vptr与vtbl的作用以及const对象调用特性。
1032

被折叠的 条评论
为什么被折叠?



