effective c++

Item1:用 const和inline来代替#defineItem19:成员函数:需要重载的函数必须定义为成员函数  非成员函数  友元函数:当需要访问类中的数据,但是又不能定义为成员函数时,定义为友元函数

Item 21:尽量的使用 const

  int f() const:任何修改成员变量和调用非const成员函数都视为非法,但是如果要定义为const,并且还要修改他们的值,那么有两种方法来做:

  (1)变量定义为mutable

  (2)const_cast<X*>(this),把this指针

Item 22:优先选用传引用而不是传值

  按值传递对于一个对象来说,要多次调用拷贝构造函数和析构函数,并且还可以避免“slice problem”

Item 23 :当必须返回一个对象的时候,不要返回一个引用,所以要确定到底要返回的是对象还是引用

原文地址:https://www.cnblogs.com/zhanglanyun/p/2438599.html