![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
More Effective C++
杨主任o_o
这个作者很懒,什么都没留下…
展开
-
【More Effective C++】条款25:将构造函数和非成员函数虚拟化
如果以成员函数的方式重载operator原创 2024-04-29 14:19:51 · 167 阅读 · 0 评论 -
【More Effective C++】条款4:避免无用的缺省构造函数
【代码】【More Effective C++】条款4:避免无用的缺省构造函数。原创 2024-04-26 14:11:36 · 210 阅读 · 0 评论 -
【More Effective C++】条款24:了解虚函数的成本
【代码】【More Effective C++】条款24:了解虚函数的成本。原创 2024-03-12 22:45:58 · 380 阅读 · 0 评论 -
【More Effective C++】条款35:将非尾端类设计为抽象类
为了解决简单对象的赋值情况需要赋值转型成本,可以将拷贝函数进行重载。原创 2024-03-11 23:11:58 · 456 阅读 · 0 评论 -
【More Effective C++】条款8:new和delete的理解
operator new []:用于给数组对象分配内存,和单一版本的区别是调用构造函数的次数。程序员无法直接调用对象初始化的构造函数,所以在堆上创建对象必须使用new操作符。new:内建的操作符和sizeof一样,不能被改变意义,包含下面两个部分。operator new:只负责分配内存,可以被冲重载,改变内存分配方法。placement new:在指定的内存上构建对象,返回指向该对象的指针。上述创建对象的必须和删除对象的操作符对应起来。原创 2024-02-24 21:36:54 · 548 阅读 · 0 评论 -
【More Effective C++】条款6:区分前置++和后置++
后置++:返回一个const值的原因。原创 2024-02-23 22:56:09 · 399 阅读 · 0 评论 -
【More Effective C++】条款7:不要重载&&、||和,操作符
不能重载的原因是:不能保证函数的调用顺序,来和现有的行为保证一致。原创 2024-02-23 22:34:25 · 611 阅读 · 0 评论 -
【More Effective C++】条款22:采用op+=取代op+优势
operator+=比operator+效率高,可以通过返回值优化避免临时对象的构造和析构成本;原创 2024-02-22 22:44:59 · 601 阅读 · 0 评论 -
【More Effective C++】条款21:用重载技术避免隐式类型转换
【代码】【More Effective C++】条款21:用重载技术避免隐式类型转换。原创 2024-02-15 17:03:02 · 549 阅读 · 0 评论 -
【More Effective C++】条款20:返回值优化RVO
RVO:编译器将return表达式定义的对象构造于c内,减少了函数的临时对象的构造和析构。原创 2024-02-15 16:04:57 · 358 阅读 · 0 评论 -
【More Effective C++】条款19:了解临时对象的来源
临时对象:没有命名,不会出现在源代码中。原创 2024-02-15 15:49:56 · 780 阅读 · 0 评论 -
【More Effective C++】条款18:分期摊还预期的计算成本
【代码】【More Effective C++】条款10:分期摊还预期的计算成本。原创 2024-02-13 12:15:02 · 389 阅读 · 0 评论 -
【More Effective C++】条款17:考虑使用lazy evaluation
含义:将计算拖延到必须计算的时候,以下为4个场景优点:避免不必要的计算,节省成本。原创 2024-02-13 11:28:46 · 513 阅读 · 0 评论 -
【More Effective C++】条款16:谨记80-20法则
80-20法则说一个程序80%的资源用于20%代码上:软件的整体性能几乎是代码的一小部分决定的,即使性能瓶颈所在:原创 2024-01-27 23:20:18 · 459 阅读 · 0 评论 -
【More Effective C++】条款10:构造函数内资源泄漏处理
场景:在构造函数中遇到异常的情况。原创 2024-02-12 16:49:05 · 416 阅读 · 0 评论 -
【More Effective C++】条款9:利用析构函数避免资源泄漏
思想:利用对象管理资源,用析构函数自动删除指针。原创 2024-02-12 15:46:43 · 348 阅读 · 0 评论 -
【More Effective C++】条款5:警惕隐式类型转换
转换成这种形式 if (a == static_cast(b[i]))if (a == b[i]) 忘记写了a[i],编译器不会报错,是因为发生的隐式转换;隐式类型转换操作符,可能导致错误的函数调用,应该提供显示的函数调用。原创 2024-02-11 16:24:44 · 808 阅读 · 0 评论 -
【More Effective C++】条款3:不以多态的方式处理数组
注意:通过array[i]操作本质上是*(array + i),通过父类指针操作子类,会出现未定义的行为。原创 2024-02-10 21:33:17 · 355 阅读 · 0 评论 -
【More Effective C++】条款2:使用C++转型操作符
注意:模拟的dynamic_cast不会进行是否转型成功的检查。原创 2024-02-10 19:36:06 · 385 阅读 · 0 评论 -
【More Effective C++】条款1:指针和引用区别
结论:除了上述情况,应该优先使用指针实现。原创 2024-02-10 18:08:24 · 512 阅读 · 0 评论