![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
More Effective C++
文章平均质量分 94
More Effective C++知识点总结
Karthus_冲冲冲
这个作者很懒,什么都没留下…
展开
-
More Effective C++学习笔记(6)
学习并实践新的C++语言特性、模板特性、异常处理机制、转型、内存分配、标准模板库STL等等。原创 2023-09-09 17:00:01 · 221 阅读 · 0 评论 -
More Effective C++学习笔记(5)
此外,新建一个没有数据成员的间接类B,其构造函数用于调用类A中在map中新增处理函数的静态成员函数,添加新的派生类型时可以在全局构造该间接类,保证在运用不同类型处理函数之前已经在map中加入了对应的处理函数。例如,如何让同一个函数collision(),在接收(SpaceShipe对象,SpaceStation对象)时与接收(SpaceShipe对象,Asteroid对象)行为不同。(3)方法3:直接声明一个类静态成员变量对已构造的对象计数,构造一个对象就+1,析构一个对象就-1,如果无资源就抛出异常。原创 2023-09-09 00:10:21 · 326 阅读 · 0 评论 -
More Effective C++学习笔记(4)
类的相关信息存储在类型为type_info的对象里,能通过使用typeid操作符访问一个类的type_info对象。RTTI耗费的空间是在每个类的vtbl中的占用的额外单元再加上存储type_info对象的空间。这个方法是使用局部缓存,用开销相对不大的内存中查询来替代开销较大的数据库查询。:每个声明了虚函数的对象都带有它,它是一个看不见的数据成员,指向对应类的virtual table。,不过虚基类也会增加一定的成本,类对象中可能有多个虚指针(隐藏指针)。,相当于告诉编译器“我知道我在干啥,没事儿!原创 2023-08-24 16:56:17 · 370 阅读 · 0 评论 -
More Effective C++学习笔记(3)
当通过传值(by-value)方式捕获时,异常对象被拷贝了两次(第一次是异常传递时生成的一个临时对象,第二次是临时对象给catch的形参赋值)。,因为异常里面参数传递都是副本,传引用也不是为引用异常抛出前的原始对象,而是相较于by-value减少一次副本拷贝。,因为函数参数要求传入引用说明想修改引用的变量,结果变量是临时对象,即使修改了也是做无用功,所以编译器不允许;,因为异常catch匹配是顺序匹配(最先匹配的catch),不是最佳匹配。(2)对象做为异常被抛出与做为参数传递给函数相比,原创 2023-08-22 17:17:01 · 173 阅读 · 0 评论 -
More Effective C++学习笔记(2)
【代码】More Effective C++学习笔记(2)原创 2023-08-18 17:09:51 · 354 阅读 · 0 评论 -
More Effective C++学习笔记(1)
【代码】More Effective C++学习笔记(1)原创 2023-08-17 18:11:19 · 282 阅读 · 0 评论