ICode9

精准搜索请尝试: 精确搜索
  • 【Effective C++】实现2022-04-02 21:32:52

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

  • 【Effective Java 10.2】覆盖 equals 时请遵守通用约定 —— 对称性2022-03-28 21:32:46

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

  • 《Effective Modern C++》学习笔记之条款三十四:优先选用lambda表达式,而非std::bind2022-03-19 16:58:54

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

  • effective-python-142022-02-18 21:01:08

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

  • [读书笔记]《Effective Modern C++》—— 类型推导、auto、decltype2022-02-07 22:02:46

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

  • 《Effective C++》笔记(二)2022-02-06 18:59:30

    《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,

  • 净有效温度 (Net Effective Temperature)2022-01-29 21:03:29

    The WSI is based on the "NET" (Net Effective Temperature), and it is applicable to both, hot and cold atmospheric conditions. The input parameters to the NET calculation are air temperature, humidity and wind, which are daily observed in the Por

  • effective python2022-01-28 18:32:19

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

  • Effective Java学习概括2022-01-21 16:33:30

    并发编程 Executors.newSingleThreadExecutor()Executors.newFixedThreadPool(int)Executors.newCachedThreadPool()类锁和对象锁synchronized 修饰方法、代码块,修饰不同地方分别对应类锁或对象锁notify(), notifyAll()公平锁和非公平锁。自旋锁原子性(atomicity),可视性(vola

  • 【Effective Objective-C】——对象、消息、运行期2022-01-19 21:04:29

    文章目录 概述理解“属性”这一概念属性特质atomic和nonatomic的区别?尽量将所有属性都声明为nonatomic要点 在对象内部尽量直接访问实例变量理解:“对象等同性”这一概念特定类所具有的等同判定方法等同性判定的执行深度容器中可变类的等同性 以“类族模式”隐藏实现细节创

  • Effective Java~42. Lambda 优于匿名类2022-01-16 12:31:02

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

  • Effective C++2022-01-13 11:34:31

    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 std

  • Effective C++条款13:用一个类管理内存2022-01-12 17:02:57

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

  • effective java-读书笔记2022-01-11 12:03:20

    遇到参数过多可以考虑建造者模式,在构造器中传入建造器,在建造器里面初始化参数,这样可以防止构造器参数过多传错了 public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final int

  • Effective C++ 英中简繁术语对照2022-01-11 10:59:18

    文章目录 英中简繁术语对照介绍英简繁术语对照表 英中简繁术语对照 介绍 这里列岀本书出现之编程术语的英中对照。本中文版在海峡两岸同步发行,因 此我也列出本书简繁两版的术语对照,方便某些读者从中一窥两岸计算机用语。 表中带有*者表示本书对该词条大多直接釆用英文术

  • Effective C++ 部分重点总结2022-01-11 10:34:23

    一构造/析构/复制 catch5 了解C++默认操作 5.1 编译器对空类class E{};自动编写一个默认构造函数E();一个拷贝构造函数E(const E& rhs){}一个析构函数~E(){}一个拷贝赋值操作符 E& operator =(const E& rhs){} 当E()内含引用成员进行赋值操作时,应该在初始化列表初始化,编译器不会为

  • Effective Python 第7条:enumerate取代range2022-01-01 23:02:30

    range可以用来迭代一系列整数,如下: for i in range(10): print(i) 当我们迭代数据结构,例如字符串列表,可以直接在这个序列上迭代,如下: flavor_list = ['vanilla', 'chocolate', 'pecan'] for flavor in flavor_list: print(f'{flavor} is delicious') # vanilla is d

  • 《Effective Modern C++》学习总结(条款11- 15)2021-12-24 09:58:30

    条款11:优先使用delete关键字删除函数而不是private却又不实现的函数 1.=delete 是C++ 11新特性——见侯捷C++ 九中的描述 删除的函数不能通过任何方式被使用 方便起见,删除函数被声明为公有的,而不是私有的。这样设计的原因是,使这个函数为公有的可以产生更易读的错误信息 任

  • Effective STL~4 迭代器2021-12-21 23:33:20

    目录第26条:iterator优先于const_iterator、reverse_iterator以及const_revserse_iteratoriterator和const_iterator关系2个iterator之间混合使用第27条:使用distance和advance将容器的const_iterator转换成iterator第28条:正确理解由reverse_iterator的base()成员函数所产生的iterat

  • Effective C++ 第二章 构造/析构/赋值运算2021-12-19 12:33:24

    第二章 构造/析构/赋值运算 (Constructors,Destructors,and Assignment Operators) 条款5:了解 C++ 默默编写并调用哪些函数 请记住: 编译器可以暗自为 class 创建 default 构造函数、copy 构造函数、copy 赋值运算符和析构函数 C++11中有6个: 1、构造 2、析构 3-4、拷贝构造和赋值

  • effective C++:尽量用 const 和 inline 而不用#define2021-12-17 14:02:45

    这个条款最好称为:“尽量用编译器而不用预处理”,因为#define 经常被认 为好象不是语言本身的一部分。这是问题之一。再看下面的语句: #define ASPECT_RATIO 1.653 编译器会永远也看不到 ASPECT_RATIO 这个符号名,因为在源码进入编译器 之前,它会被预处理程序去掉,于是 ASPECT_RATIO

  • 《Effective Modern C++》学习笔记 - Item 5: 倾向于使用auto而不是显式类型声明2021-12-16 13:03:13

    先来定义一个简单的局部变量: int x; // 糟糕,忘记初始化了。x也许会被初始化为0也许不会,取决于上下文。 别在意。再来定义一个用迭代器(Iterator)解引用初始化的局部变量: template<typename It> void dwim(It b, It e) { while (b != e) { // 真的假的?声明一个变

  • 《Effective Modern C++》学习笔记 - Item 2: 理解auto类型推导2021-12-15 13:00:52

    除了一种特殊情况外,auto 类型推导就是模板类型推导(尽管二者在形式上看起来不同)当变量用 auto 声明时, auto 取代了模板中 T 的角色,而变量的类型等同于 ParamType。下面的例子展示了二者的等价性: auto x = 27; // 等价于以下模板推导 template<typename T> // 推导x类型的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有