ICode9

精准搜索请尝试: 精确搜索
  • Effective C#:改善C#代码的50个有效方法(1)2021-09-18 09:05:13

    第1章 C#语言的编程习惯 第1条:优先使用隐式类型的局部变量 注意力放在变量的语意上,而不是类型上。 var HighestSellingProduct = someObject.DoSomeWork(anotherParameter); 防止窄化转换。 var total = 100 * f / 6; 即使指定类型,仍有窄化的问题,因此要使用更清晰的表达式

  • Effective Java 第二章 创建和销毁对象2021-09-16 18:02:30

    Effective Java 第二章 创建和销毁对象 1. 用静态工厂方法代替构造器2. 遇到多个构造器参数时要考虑使用构建器3. 用私有构造器或者枚举类型强化Singleton属性4. 通过私有构造器强化不可实例的能力5. 优先考虑依赖注入来引用资源6. 避免创建不必要的对象7. 消除过期的对象

  • [笔记]《Effective C++》第四章 Designs and Declarations2021-09-13 19:00:40

    条款18:Make interfaces easy to use correctly and hard to use incorrectly. ■ 好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 ■ “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。 ■ “阻止误用”的办法包括建立新类型

  • Effective C++ 笔记 —— Item 28: Avoid returning “handles” to object internals.2021-09-09 20:02:24

    Suppose you’re working on an application involving rectangles. Each rectangle can be represented by its upper left corner and its lower right corner. To keep a Rectangle object small, you might decide that the points defining its extent shouldn‘t be store

  • Effective C++ chapter_52021-09-08 20:01:06

    5 实现 条款 26 尽可能延后变量定义式出现的时间 ​ 我们写代码的时候,可能会定义一些没有使用的变量,特别是当你过早的定义一个变量,从定义到使用中间如果出现异常且该异常被丢出,那么你就要承担不必要的构造和析构成本。 ​ 所以尽量在你使用到变量的前一刻再定义它。 请记住 :

  • More Effective C++ Item6 自增自减运算符重载2021-09-08 11:35:04

    对于int类型变量a可以如下操作 ++a; a++; --a; a--; ++和--分别都有前置式(操作符在前)、后置式(操作符在后) 对于自定义类型,++和--的重载需要区分前置式和后置式,如下 class Element { public: Element(int value) :value_(value) {} Element& operator++() { ++value_;

  • [笔记]Effective C++ 条款3:尽可能使用const2021-09-07 11:58:15

    T* const 表示不可指向不同的东西 但指向的东西的值可以改变 const T* 表示不可改变指向的东西的值 但可以指向不同的东西 T* const p (const修饰p p为指针 被const修饰后不该被改动 指针p不能改变 但指向的内容*p可被改变) const T* p (const修饰*p *p为不该被改动的对象) STL

  • Effective C++ 笔记 —— Item 18: Make interfaces easy to use correctly and hard to use incorrectly.2021-09-07 11:04:11

    Developing interfaces that are easy to use correctly and hard to use incorrectly requires that you consider the kinds of mistakes that clients might make. For example, suppose you’re designing the constructor for a class representing dates in time: class

  • [笔记]《Effective C++》第二章2021-09-06 22:31:23

    条款05:Know what functions C++silently writes and calls. 编译器会默认为空类(empty class)创建缺省的(default)构造函数、copy构造函数、copyassignment 操作符,以及析构函数。 编译器产出的析构函数是个non-virtual函数,除非这个class的base class自身声明有virtual析构函数(这

  • linux能力机制2021-09-03 21:34:27

    1. Capabilities的主要思想在于分割root用户的特权,即将root的特权分割成不同的能力,每种能力代表一定的特权操作。例如:能力 CAP_SYS_MODULE 表示用户能够加载(或卸载)内核模块的特权操作,而 CAP_SETUID 表示用户能够修改进程。 2. 用户身份的特权操作。在 Capbilities 中,系统将根据

  • Effective C++ 笔记 —— Item 11: Handle assignment to self in operator=.2021-08-31 11:03:51

    An assignment to self occurs when an object is assigned to itself: class Widget { ... }; Widget w; //... w = w; // assignment to self   If you try to manage resources yourself, however (which you’d certainly have to do if you were writing a resourcemana

  • Effective C++ 笔记 —— Item 12: Copy all parts of an object.2021-08-31 11:03:11

    Consider: class Date { }; // for dates in time class Customer { public: //... // as before private: std::string name; Date lastTransaction; }; class PriorityCustomer : public Customer { // a derived class public: //... PriorityCustom

  • Effective C++ 笔记 —— Item 8: Prevent exceptions from leaving destructors.2021-08-28 15:32:03

    Destructors should never emit exceptions. If functions called in a destructor may throw, the destructor should catch any exceptions, then swallow them or terminate the program. 1. Terminate the program if close throws, typically by calling abort: DBConn:

  • 《Effective C++》阅读笔记 条款01:视C++为一个语言联邦2021-08-19 23:04:13

    条款01:视C++为一个语言联邦 View C++ as a federation of languages. C++最初的名称 C with Classes。 C++是多重范型编程语言,一个同时支持 过程形式、面向对象形式、函数形式、泛型形式、元编程形式 的语言。 视C++包括4种次语言,即标题所: 1:C; 2:Object-Oreinted C++;3:Template C++

  • Effective STL 笔记-第5章 算法2021-08-19 16:00:22

    5 算法 第 30 条:确保目标区间足够大。(inserter) transform 算法:使用 front_inserter 将导致算法将结果插入到容器的头部,使用 back_inserter 将导致算法将结果插入到容器的尾部。 向容器末尾添加新的对象(使用 back_inserter,适用于所有提供了 push_back 方法的容器(vector,string,de

  • Effective C++ Part12021-08-14 14:04:09

    1. 译序 C++是一个难学易用的语言。 C++的难学,体现在广博的语法,背后的语义;语义背后的深层思维;深层思维背后的对象模型。 C++四种不同而又相辅相成的编程泛型:基于过程型,基于对象型,面向对象型,一般模型。 衍生的复合术语:base class,derived class,super class,subclass,class templates

  • 《More Effective C++》摘录2021-08-05 11:35:15

    导读 C++中memory leak泄露的不止是内存,还有资源。如:构造函数中分配的文件描述符、信号量、窗口句柄、数据库锁等。 1 仔细区别pointers和references 引用必须总是代表某个对象,因此必须要有初值。指针则没有这个限制(空指针)。 指针可以被重新赋值从而指向别的对象。而引用总是指向

  • More Effective C++:条款3:绝对不要以多态的方式处理数组2021-08-01 16:05:28

    继承很重要的一个性质是 可以通过指向基类的指针/引用操作衍生类 C++也允许通过基类的指针操作衍生类的数组,但是操作的结果几乎不会按照预期进行。 打印BST数组中所有内容 void printBSTArray(ostream& s,const BST array[],int num){ for(int i =0; i < num; ++i){ s <

  • 《Modern Effective C++》学习笔记8 微调2021-08-01 09:30:15

    条款四十一:针对可复制的形参,在移动成本低期并且一定会被复制的前提下,考虑将其按值传递 三种函数参数类型分析:  // 途径一:针对左值和右值重载  class Widget {  public:    void addName(const std::string& newName) {      names.push_back(newName);   }  ​    

  • Effective Java---17 最小化可变性2021-07-25 23:02:45

    不可变类 不可变类就是被final关键字修饰的类,这样的类为什么说就是不可变的呢? 首先final修饰的类中,成员变量是默认的public static final,即在赋值之后不可改变;final类是不能被继承的。 因为我们不能在final类实例创建后修改属性的值,所以final类成为不可变类。 要创建一个不可

  • Effective Java---16 在公共类中使用访问方法而不是公共属性2021-07-23 12:01:29

    前言 Java的特性:抽象、封装、继承、多态;在Java的设计实现中随处可见这些特性;封装在字面意思上来理解就是将多种东西打包在一起,我们看到的是一个整体,对外部屏蔽一些东西,在Java中即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数

  • Effective Java(第三版) 学习笔记 - 第十章 异常 Rule69~Rule772021-07-21 14:06:03

    目录 Rule69 只针对异常的情况才使用异常 Rule70 对可恢复的情况使用受检异常,对编程错误使用运行时异常 Rule71 避免不必要的使用受检异常 Rule72 优先使用标准异常 Rule73 抛出与抽象对应的异常 Rule74 每个方法抛出的所有异常都要建立文档 Rule75 在细节消息中包含失败 - 捕获

  • Effective Java---12 始终重写 toString 方法2021-07-21 11:33:48

    前言 虽然 Object 类提供了 toString 方法的实现,但它返回的字符串通常不是使用类的用户想要看到的。 它由类名后跟一个「at」符号(@)和哈希码的无符号十六进制表示组成,例如 PhoneNumber@163b91,这对使用它的人来说实际意义不大。 toString 的通用约定要求,返回的字符串应该是「一

  • 最牛C++书籍推荐(值得收藏)2021-07-06 18:32:15

    一、C++书籍推荐介绍 以下仅代表个人观点,如有雷同纯属巧合,如有不同虚心接纳! 1、C++ Primer 和习题册(非常全,学什么语言都需要一本比较全的书) 也可以关注博主的微信公众号“C和C加加”回复“ZXC”有惊喜哦 本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践

  • Effective C++ 条款21:必须返回对象时,别妄想其返回reference2021-07-03 19:33:09

    看下面这个例子 class Rational{ public: Rational(int numerator = 0, int denominator = 1); private: int n, d; friend const Rational operator* (const Rational& lhs, const Rational& rhs); }; 我们定义了一个有理数类,现在定义一个乘法运算符重载。这里返回值要不

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

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

ICode9版权所有