《Effective C++》 读书笔记之三 资源管理

《Effective C++》 读书笔记之三 资源管理 准备知识: 所谓资源就是,一旦用了它,将来必须还给系统。最常用的资源是动态分配内存,其他常见的资源有文件描述器、互斥锁、图形界面的字形和笔刷、数据库连接以及网络sockets。 auto_ptr 是个“类指针对象”,就是所谓的智能指针,其析构函...

《Effective C++》 读书笔记之四 设计与申明

《Effective C++》 读书笔记之四 设计与申明 条款18:让接口容易被正确使用,不易被误用。 重点: 好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。 “阻止误用”的办法包括建立新类型、限制...

C++ 入门教程开发文档

42 课时 |
17490 人已学 |
免费
开发者课程背景图

《Effective C++》 读书笔记之二 构造/析构/赋值运算

《Effective C++》 读书笔记之二 构造/析构/赋值运算 条款10:令赋值(assignment)操作符返回一个reference to *this。 例子: 1 2 3 4 5 Widget& operator=(const Widget& ...

More Effective C++ 读书笔记二

条款4:非必要不提供default constructor 这里主要是列举下默认构造函数的优点和缺点。 如果没有默认构造函数,定义对象数组会比较麻烦,因为对象数组初始化的时候没法传递非默认构造函数的值,如果要使用,书中提到的方法是给数组每个变量初始化的时候调用构造函数,另一个就是使用指针数组。 第一...

More Effective C++ 读书笔记三

条款8:了解各种不同意义的new和delete 这里讲了3种new,分别是:new operator, operator new, placement new。 new operator最简单,它就是我们平时常用的new关键字,需要注意的是,它是不能被重载的。new operator的语义是先分配内...

More Effective C++ 读书笔记五——异常

条款12:了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异 第一,exception object总是会被复制,如果以by value方式捕捉,它们甚至被复制两次。至于传递给函数参数的对象不一定得复制。第二,“被抛出成为exceptions”的对象,其被允许的类型转...

Effective C++ 读书笔记之Part9.Miscellany

53. Pay attention to compiler warnings. 总结: 第一,严肃对待编译器发出的警告信息。努力在你的编译器的最高(最严苛)警告级别下争取“无任何警告”的荣誉。 第二,不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同。一旦移植到另一个编译器上,你原...

Effective C++ 读书笔记之Part8.Customizing new and delete

49. Understand the behavior of the new-handler. 总结: 第一,set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用。 第二,Nothrow new是一个颇为局限的工具,因为它只适用于内存分配;后继的构造函数调用还是可能抛出...

Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design

32.Make sure public inheritance models "is-a". 所谓的最佳设计,取决于系统希望做什么事,包括现在与未来。 需要解决的问题:其中关于两个assert都通过的地方有些疑惑。 总结: “public继承”意味着is-a。适用于base classes身上的每一...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

开发与运维
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
6409+人已加入
加入
相关电子书
更多
继承与功能组合
对象的生命期管理
移动与复制
立即下载 立即下载 立即下载