【读书笔记】
文章平均质量分 89
哈哈哈哈嘿嘿嘿
这个作者很懒,什么都没留下…
展开
-
《剑指offer》个人总结
一、赋值运算符函数返回值类型声明为引用,并返回 *this,只有返回引用才可以连续赋值。传入参数类型声明为常量引用,避免调用复制构造函数和传入实例。判断传入参数与当前实例 *this 是否相同。释放自身已有内存再分配,避免内存泄漏。在4基础上,为避免释放后分配失败,可以先分配再释放,或者先创建临时实例再交换。二、实现Singleton模式public sealed class Singleton { private Singleton() {} private static objec原创 2021-11-09 16:19:38 · 588 阅读 · 0 评论 -
《编写高质量代码改善Python程序的91个建议》阅读笔记
参考文献:https://l1nwatch.gitbook.io/writing_solid_python_code_gitbook/原文有更多更深的实用建议,本文仅节选部分对个人有用且常用的建议进行记录,如有纰漏,欢迎指出。紫色:常用且复杂,建议看原文介绍。绿色:不常用但实用,建议看原文介绍。第二章 编程惯用法建议 9:数据交换值的时候不推荐使用中间变量x, y = y, x建议 16:分清 == 与 is 的适用场景可以通过 id() 函数来看看变量在内存中具体的存.原创 2021-05-26 15:20:55 · 393 阅读 · 0 评论 -
《Effective C++》读书笔记第六章——继承与面向对象设计(Inheritance and Object-Oriented Design)
条款32:确定你的public继承塑模出is-a关系Make sure public inheritance models “is-a”“public继承”意味着is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对象也都是一个base class对象。eg:1、“所有的鸟都会飞,企鹅是鸟,但是企鹅不...原创 2019-11-01 14:50:03 · 253 阅读 · 0 评论 -
《Effective C++》读书笔记第五章——实现(Implementations)
条款26:尽可能延后变量定义式的出现时间(Postpone variable definitions as long as possible)尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率。eg:你不只应该延后变量的定义,直到非得使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给它初值实参为止。 如果这样,不仅能够避免构造(和析构)非必要对象,还可以避免无意义的...原创 2019-10-21 10:12:25 · 192 阅读 · 0 评论 -
《Effective C++》读书笔记第二章——构造/析构/赋值运算(Constructors, Destructors, and Assignment Operators)
条款05:了解C++默默编写并调用哪些函数(Know what functions C++ silently writes and calls)编译器可以暗自为类创建默认构造函数、拷贝构造函数、拷贝赋值操作符,以及析构函数。条款06:若不想使用编译器自动生成的函数,就该明确拒绝(Explitcitly disallow the use of compiler-generated fun...原创 2019-07-25 17:39:40 · 218 阅读 · 0 评论 -
《Effective C++》读书笔记第一章——让自己习惯C++(Accustoming Yourself to C++)
条款01:视C++为一个语言联邦(View C++ as a federation of languages.)与C++相关的四个特征:C. 说到底C++还是以C为基础。区块(blocks)、语句(statements)、预处理器(preprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(pointers)等统统来自C。然而C语言拥...原创 2019-07-23 11:31:15 · 188 阅读 · 0 评论 -
《Effective C++》读书笔记第三章——资源管理(Resource Management)
条款13:以对象管理资源(Use objects to manage resources)获得资源后立刻放进管理对象内。 实际上“以对象管理资源”的观念常被称为“资源取得时机便是初始化时机”(Resource Acquisition Is Initialization;RAII)管理对象运用析构函数确保资源被释放。两个常被使用的RAII classes分别是tr1::shared_ptr...原创 2019-08-16 19:34:09 · 252 阅读 · 0 评论 -
《Effective C++》读书笔记第四章——设计与声明(Designs and Declarations)
条款18:让接口容易被正确使用,不易被误用(Make interfaces easy to use correctly and hard to use incorrectly)好的接口很容易被正确使用,不容易被误用。“促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。“阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。tr1::sh...原创 2019-10-10 11:37:14 · 223 阅读 · 0 评论