网站首页 站内搜索

搜索结果

查询Tags标签: Effective,共有 160条记录
  • 《Effective Modern C++》概览

    第一章 类型推导 1. 理解模板类型推导在模板类型推导时,有引用的实参会被视为无引用,他们的引用会被忽略 对于通用引用的推导,左值实参会被特殊对待 对于传值类型推导,const和/或volatile实参会被认为是non-const的和non-volatile的 在模板类型推导时,数组名或者函数…

    2022/4/18 1:13:38 人评论 次浏览
  • 《Effective C++》rule 02: Prefer consts, enums, and inlines to #defines

    宏定义的问题 C++ 会在预处理阶段对宏定义进行字符串替换. 因此,如果在一个头文件进行了类似如 #define ASPECT_RATIO 1.653 的宏定义,那么此常量相关的编译错误信息显示的会是 1.653, 而这个宏定义如果不在你写的程序内 (而是它包含的一个头文件内),那么定位问题就会很…

    2022/4/14 9:13:04 人评论 次浏览
  • 【Effective Java 10.6】覆盖 equals 时请遵守通用约定 —— 写出高质量 equals 方法的诀窍

    1. 实现高质量 equals 方法的诀窍使用 == 操作符检查 ”参数是否为这个对象的引用“。如果是,则返回 true。这只是一种性能优化。引用相同,则必定相等,无需进行后续对值的比较。 使用 instanceof 操作检查 ”参数是否为正确的类型“。如果不是,则返回 false。一般来说…

    2022/4/6 17:19:18 人评论 次浏览
  • 【Effective C++】实现

    条款26:尽可能延后变量定义式出现时间延后变量定义的时间可提高效率条款27:尽量少做转型动作Derived对象可能拥有不同的地址(当Base* 、Derived*指向该对象时) 尽可能使用新转型,因为其容易辨别且对转型类型进行了分类条款28:避免返回handles指向对象内部成分提高封…

    2022/4/2 22:49:29 人评论 次浏览
  • 【Effective Java 10.2】覆盖 equals 时请遵守通用约定 —— 对称性

    任何两个对象对于 “它们是否相等” 问题必须保持一致。与第一个要求不同,若无意中违反这一条,这种情形倒是不难想象。例如,下面的类,它实现了一个不区分大小写的字符串。字符串由 toString 保存,但在 equals 操作中被忽略。 /*** 覆写 Object 的 equals 方法时, 必须…

    2022/3/28 22:22:36 人评论 次浏览
  • 《Effective Modern C++》学习笔记之条款三十四:优先选用lambda表达式,而非std::bind

    1. 先来点历史资料 std::bind是C++98中std::bind1st和std::bind2nd的后继特性,但是作为一种非标准特性而言,std::bind在2005年就已经是标准库的组成部分了。正是在那时,标准委员会接受了名称TR1的文档,里面就包含了std::bind的规格(在TR1中,bind位于不同的名字空间,…

    2022/3/19 17:57:53 人评论 次浏览
  • effective-python-14

    effective python-Item 14 list.sort函数,比较容易用的是reverse,而其中还有个参数key,默认是NONE,此时排序是按照默认比较方法排序,比如数据按照大小,字符串按照字符的顺序,这种python中存在的数据类型,比较起来还是比较简单的。但是如果你比较的是objects,比较…

    2022/2/18 22:11:38 人评论 次浏览
  • [读书笔记]《Effective Modern C++》—— 类型推导、auto、decltype

    文章目录 前言条款一: 理解模板型别推导数组实参函数实参 条款二:理解 auto 的类型推导使用 auto 的好处显式类型初始化 条款三:理解 decltype返回值类型后置 总结前言 本文内容主要摘录自 《Effective Modern C++》,本文主要是将书中开头类型推导部分的内容放在一块进…

    2022/2/7 22:43:31 人评论 次浏览
  • 《Effective C++》笔记(二)

    《Effective C++》笔记(二)四、设计与声明 18.让接口更容易被正确使用,不易被误用 首先,必须考虑客户可能做出什么样的错误。 例如: class Date{ public:Date(int month, int day, int year); };Date d(30, 3, 1995);//不合理,应该(3, 30, 1995) Date d(2, 30, 1995);/…

    2022/2/6 20:14:28 人评论 次浏览
  • effective python

    Python编程要点 读写文件 python3有两种字符的类型,byte和str,前者的实例包含原始的8位值,后者的实例包含Unicode字符。把unicode字符转化为二进制数据常见方法就是utf-8。unicode 字符转为二进制,用encode方法,反过来,二进制到unicode字符,要用decode。 python2 允…

    2022/1/28 20:09:21 人评论 次浏览
  • Effective Java~42. Lambda 优于匿名类

    在 Java 8 中,添加了函数式接口, lambda 表达式和方法引用,以便更容易地创建函数对象。下面是一段代码片段,按照字符串长度顺序对列表进行排序,使用匿名类创建排序的比较方法 (强制排序顺序): // Anonymous class instance as a function object - obsolete! Coll…

    2022/1/16 12:33:53 人评论 次浏览
  • Effective Java~42. Lambda 优于匿名类

    在 Java 8 中,添加了函数式接口, lambda 表达式和方法引用,以便更容易地创建函数对象。下面是一段代码片段,按照字符串长度顺序对列表进行排序,使用匿名类创建排序的比较方法 (强制排序顺序): // Anonymous class instance as a function object - obsolete! Coll…

    2022/1/16 12:33:53 人评论 次浏览
  • Effective C++

    31. Minimize complilation dependencies between files(handle class & interface class) 这部分需要记录下来,Handle classes#include <string> #include <memory> class PersonImpl; class Date; class Address;class Person { public:Person(const s…

    2022/1/13 12:05:03 人评论 次浏览
  • Effective C++

    31. Minimize complilation dependencies between files(handle class & interface class) 这部分需要记录下来,Handle classes#include <string> #include <memory> class PersonImpl; class Date; class Address;class Person { public:Person(const s…

    2022/1/13 12:05:03 人评论 次浏览
  • Effective C++条款13:用一个类管理内存

    一般的new/delete操作--不利于扩展,维护 //参照书本的new/delete操作示例 class Investment {};void f() {Investment* pInv = new Investment();//...delete pInv; } 这么做不会有问题,但不好,如果在//...处会return,或者其他操作导致未执行delete pInv;操作,会造成…

    2022/1/13 7:06:47 人评论 次浏览
扫一扫关注最新编程教程