![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Effective C++
c++进阶学习笔记
惊鸿.Jh
这个作者很懒,什么都没留下…
展开
-
1.3尽可能使用const
使用mutable修饰符,可以释放掉non-static成员变量的const约束,使得在const成员函数中,也可以对含有mutable修饰的成员变量进行修改。//C++中常成员函数与非常成员函数可以构成重载,具体调用根据对象类型是否为const来进行区别调用,对于常成员函数造成的重载,可以通过非常版本对另一个调用,来减少代码重复。先通过*this将对象变为常对象,以便调用常成员函数版本。通过const成员函数,来处理const修饰的对象。某些情况下允许在常成员函数下,对成员变量进行修改。原创 2023-01-09 21:48:20 · 48 阅读 · 0 评论 -
1.2 尽量减少#define预处理器的使用
对于单纯常量,尽量使用const或enum。对于宏定义,尽量使用template inline函数。原创 2023-01-08 14:32:31 · 56 阅读 · 0 评论 -
1.1 语言联邦
Object-Oriented C++:包括classes(构造与析构),encapsulation(封装),inheritance(继承),polymorphism(多态),virtual(动态绑定)。STL:标准模板库,包括容器,迭代器,算法,函数对象。template C++:泛型编程。C:C语言的相关通用用法。原创 2023-01-08 13:53:16 · 85 阅读 · 0 评论 -
术语(规范及命名习惯)
同时进行对象传参时也需要注意此时会调用拷贝构造函数,对于含指针对象,防止浅拷贝析构后出现野指针和重复析构出现内存泄漏的情况。explicit关键词:在函数前添加,阻止被用于执行隐式类型转化(implicit type conversions).参数:lhs(left-hand side)、rhs(right-hand side)左手端、右手端。(含指针类型,需进行深拷贝)。指针:pa(point to any),any 可以是任何类型对象。extern关键词:显式表明在此处声明,在别的文件进行定义。原创 2023-01-08 13:40:09 · 55 阅读 · 0 评论