博客专栏  >  编程语言   >  effective c++学习笔记

effective c++学习笔记

由于侯捷先生是台湾人,所以翻译的时候有些语义,不符合大陆人的习惯,初学者看起来可能够有些吃力,开此专栏,记录自己学习的一些新的体会

关注
1 已关注
10篇博文
  • effective c++条款5 了解编译器默认编写那些函数

    一个空类里面都默认包含那些函数 . 构造函数 · 拷贝构造函数 . 析构函数 . 赋值操作符重载 . 取地址运算符重载 . const取地址运算符 什么条件下编译器不会默认合成赋值操作符重...

    2017-05-06 10:20
    162
  • 条款18:让接口容易被正确使用,不容易被误用

    “最好的情况,就是如果客户企图使用某个接口而却没有获得预期的行为,这个代码就不应该通过编译;如果代码通过了编译,它的作为就该是客户想要的。”   所以在接口设计时,应该从用户的角度出发,考虑用户会犯...

    2017-05-17 19:57
    459
  • 条款17以独立语句将new置入智能指针

    使用智能指针可以防止内存泄露,但是在使用时也要注意以下问题void func1(){} void func2(tr1::shared_ptr p,void f()){} int main() ...

    2017-05-13 16:57
    194
  • 条款16:成对使用new和delete时要采取相同的形式

    int* parr = new int[5];//分配的是一个数组 delete[] parr; int* pval = new int(5);//分配的是一个变量 delete pval...

    2017-05-12 16:41
    218
  • 条款13:以对象管理资源

    我们都知道,当new一个东西之后,必须delete它。但是问题可能出现在在new和delete之间:比如中间出现了异常,或者return之类的。一种比较好的作法是通过对象来管理:因为当对象的声明周期结...

    2017-05-10 20:12
    195
  • 条款12:复制对象时勿忘其每一部分

    复制对象时要把对象的每一部分都赋值到位,尤其在有基类的时候容易遗漏复制  #include using namespace std; class Date { public: Date(in...

    2017-05-10 20:01
    96
  • 条款10 令operator=返回一个reference to *this

    显而易见 令赋值运算符返回一个引用有利于表达式连续赋值,其他需要连续操作的函数也如此,有一点需要注意,一般重载赋值运算符时,要记得判断是否是自己给自己赋值。

    2017-05-08 21:16
    111
  • 条款9:绝不在构造和析构过程中调用virtual函数

    先看一段代码#include using namespace std; #include class Base { public: Base(int val = 0) { ...

    2017-05-08 21:10
    195
  • 条款7:为多态基类声明virtual析构函数

    一般来讲如果基类类对象里如果申请了空间,基类对象的析构函数就应该声明为virtual析构函数,否则容易造成内存泄露。   举个栗子:   #include using namespace std;...

    2017-05-08 20:46
    215
  • 条款6:若不想使用编译器自动生成函数,就该明确拒绝

    前面我们已经知道,编译器会默认为我们合成六个成员函数分别是:构造函数、拷贝构造函数、析构函数、赋值运算符重载、取地址运算符重载、const取地址运算符重载。   那么如果我们如果不想要编译器为我们自...

    2017-05-08 20:24
    343
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部