1、视C++为一个语言联邦
    C、object-oriented C++、template C++、STL
2、尽可能使用const:
    1)关键字const出现的星号左边,表示被指物事常量;如果出现在星号右边,表示指针自身是常量;如果出现在两边,表示被指物和指针都是常量。
    2)stl迭代器中申明迭代器为const就像申明指针为const一样,表示这个迭代器不得指向不同的东西,但他所指向的东西的值是可以改动的。如果希望所指的东西不可被改动,你需要的是const  iterator。
    3)const成员函数:两个成员函数如果只是常量性不同,可以被重载。如果一个函数的返回类型是个内置类型,那么改动函数返回值从来就不合法。
    4)在const和non-const成员函数中避免重复:第一次这里将*this从其原始类型转为const类型。第二次则是从const operator    []的返回值中移除const。添加const的那次强迫进行了一次安全转型,使用static_cast。移除const的那个动作只可以藉由const_cast完成,没有其他选择。const成员函数调用non_const成员函数是一种错误行为,因为对象有可能因此被改动。
            const char & operator[]()const
            {}
            char & operator[]
            {
                return
                      const_cast<char&>(static_cast<const textblock&>(*this)[position])
            }
请记住:将某些东西申明为const对象可以帮助编译器查找出错误。const可被施加于任何作用于内对象、函数参数、函数返回类型、成员函数本体;当const和non_const成员函数有这实质等价的实现时,令non_const版本调用const版本可避免代码重复。
3、确定对象被使用前已先被初始化
    1)为内置型对象进行手工初始化,因为C++不摆正初始化他们
    2)构造函数最好使用成员初值列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序和他们在class中申明的次序相同
    3)为免除“跨编译单元之初始化问题”,请以local static对象替换non-local static对象。
4、了解C++默默编写并调用那些函数
    编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符、以及析构函数
5、若不想用编译器自动生成的函数,就该明确拒绝(接4)
    为驳回编译器自动提供的机能,例如copy构造函数、copy assignment操作符等,可将相应的成员函数申明为private并且不予实现。使用像uncopyable这样的base class也是一种方法。
6、为多态基类填加virtual析构函数

polymorphic带多态性质的,base class 应该申明一个virtual析构函数 。如果class带有任何virtual的函数,他就应该拥有一个virtual析构函数;classes的设计目的如果不是为了base class 使用,或不是为了具备多态性,就不该声明virtual析构函数.

Effective c++读书笔记的更多相关文章

  1. Effective STL 读书笔记

    Effective STL 读书笔记 标签(空格分隔): 未分类 慎重选择容器类型 标准STL序列容器: vector.string.deque和list(双向列表). 标准STL管理容器: set. ...

  2. Effective STL读书笔记

    Effective STL 读书笔记 本篇文字用于总结在阅读<Effective STL>时的笔记心得,只记录书上描写的,但自己尚未熟练掌握的知识点,不记录通用.常识类的知识点. STL按 ...

  3. effective c++读书笔记(一)

    很早之前就听过这本书,找工作之前读一读.看了几页,个人感觉实在是生涩难懂,非常不符合中国人的思维方式.之前也有博主做过笔记,我来补充一些自己的理解. 我看有人记了笔记,还不错:http://www.3 ...

  4. Effective Java读书笔记完结啦

    Effective Java是一本经典的书, 很实用的Java进阶读物, 提供了各个方面的best practices. 最近终于做完了Effective Java的读书笔记, 发布出来与大家共享. ...

  5. Effective java读书笔记

    2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己 计在16年要看12本书,主要涉及java基础.Spring研究.java并发.J ...

  6. Effective Objective-C 读书笔记

    一本不错的书,给出了52条建议来优化程序的性能,对初学者有不错的指导作用,但是对高级阶段的程序员可能帮助不是很大.这里贴出部分笔记: 第2条: 使用#improt导入头文件会把头文件的内容全部暴露到目 ...

  7. 【Effective C++读书笔记】序

    C++ 是一个难学易用的语言! [C++为什么难学?] C++的难学,不仅在其广博的语法,以及语法背后的语义,以及语义背后的深层思维,以及深层思维背后的对象模型: C++的难学还在于它提供了四种不同而 ...

  8. Effective Java 读书笔记(一):使用静态工厂方法代替构造器

    这是Effective Java第2章提出的第一条建议: 考虑用静态工厂方法代替构造器 此处的静态工厂方法并不是设计模式,主要指static修饰的静态方法,关于static的说明可以参考之前的博文&l ...

  9. Effective C++读书笔记(转)

    第一部分 让自己习惯C++ 条款01:视C++为一个语言联邦 一.要点 ■ c++高效编程守则视状况而变化,取决于你使用c++的哪一部分. 二.扩展 将c++视为一个由相关语言组成的联邦而非单一语言会 ...

  10. Effective C++ 读书笔记 名博客

    https://www.cnblogs.com/harlanc/tag/effective%20c%2B%2B/default.html?page=3

随机推荐

  1. LInux 查看环境变量

    1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...

  2. Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折

    Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折 1.1.1. 软件的本质:抽象  1 1.2. 软件开发的过程就是不断 ...

  3. uwp 图片切换动画 使用帧动画

    上一篇博客使用了Timer来实现图片的切换,@lindexi_gd讨论了一下性能,我本人其实对性能这一方面不太熟,但我觉得还是有必要考虑一下,那么今天我们使用帧动画开实现以下 新建项目,添加一个But ...

  4. 在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)

    上一节我们学习了 Neutron Vlan Network 的原理,今天讨论如何在 ML2 配置中 enable 它. 首先在 /etc/neutron/plugins/ml2/ml2_conf.in ...

  5. Html标签的语义化

    为了使我们的网站更好的被搜索引擎抓取收录,更自然的获得更高的流量,网站标签的语义化就显得尤为重要.所谓标签语义化,就是指标签的含义. 为了更好的理解标签的语义化,先看下面这个例子: 1 <tab ...

  6. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

  7. 多种方法实现Loading(加载)动画效果

    当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次. 既能让用户知道正在提交中,也能防止二次提交,好处多多呢.

  8. ZOJ Problem Set - 1006 Do the Untwist

    今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...

  9. Maven工程引入jar包

    Maven项目引入jar包的方法 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add Exte ...

  10. Android APP压力测试(三)之Monkey日志自动分析脚本

    Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...