![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective C++学习笔记
文章平均质量分 57
鱼三省
这个作者很懒,什么都没留下…
展开
-
《Effective C++》读书笔记 被你忽略的关于构造析构赋值
如果程序员没有定义,那么编译器会默认隐式为你创建一个copy构造函数,一个copy赋值操作符,一个析构函数。另外如果你没有声明任何构造函数,编译器会为你声明一个default构造函数。但是当这些函数被用到时,他们才会被创建。例如Empty a(b),会创建copy构造函数。class Empty{ Empty(){...}//default构造函数,如果没有声明任何构造函数,编译器会自动...原创 2018-06-21 17:39:55 · 234 阅读 · 0 评论 -
《Effective C++》读书笔记 资源管理
C++程序中最常用的资源包括动态分配的内存,文件描述器,互斥锁,数据库连接,网络socket等等。不论哪种资源,重要的是,当你不再使用他时,必须将他归还给系统。一个很好的做法是以对象管理资源。把资源放进对象内,我们便可依赖C++的析构函数自动调用机制确保资源被释放,这样便不会发生资源泄露的问题。一个实现的方法是,以智能指针封装资源,由于atuo_ptr缺陷太多,已经基本被废弃,建议使用shared...原创 2018-06-22 23:41:48 · 147 阅读 · 0 评论 -
《Effective C++》读书笔记 设计与声明
在C++接口设计中,一个基本的原则是:让接口容易被正确使用,不容易被误用。接下来的所有讨论都基于这一基本原则。宁以引用方式(pass-by-reference-to-const)替换传值方式(pass-by-value)当使用传值方式时,实际上传递的是对象的一个副本,这样会调用其构造函数和析构函数,增加了开销,而引用方式实际上传递的是对象的地址,没有任何构造函数或析构函数被调用,而将引用声明为co...原创 2018-06-24 22:36:30 · 162 阅读 · 0 评论 -
《Effective C++》读书笔记 条款02 尽量以const,enum,inline替换#define
Effective C++在此条款中总结出两个结论 1.对于单纯常量,最好以const对象或enum替换#define 2.对于形似函数的宏,最好改用inline函数替换#define接下来我们进行详细的探讨。const替换#define的讨论 例如:#define ASPECT_RATIO 1.653 原书给出的解释大意是: 你所使用的名称(ASPECT_R...原创 2018-06-18 22:19:29 · 181 阅读 · 0 评论 -
《Effective C++》读书笔记 条款03 尽可能使用const
如果你对const足够了解,只需记住以下结论即可:将某些东西声明为const可帮助编译器侦测出错误用法,const可被施加于任何作用于内的对象、函数参数、函数返回类型、成员函数本体。编译器强制实施bitwise constness,但你编写程序时应该使用概念上的常量性当const和non-const成员函数有实质等价的实现是,令non-const版本调用const版本可避免代码重复关键字const...原创 2018-06-19 17:00:17 · 246 阅读 · 0 评论