inline模板函数来代替, 通过模板操作我们可以让函数接收任何类型的值, 且获得各种提前检测和访问控制....例如包含了引用成员的类和包含const成员的类都不会生成默认的拷贝构造函数
6 若不想使用编译器自动生成的函数, 就该明确拒绝
拒绝编译器自动生成函数的传统方法是自己声明一个private的对应函数然后固定不去实现它..., 也就是由拷贝构造函数生成
因此如果只是简单地传入对象会浪费很多的构造/析构操作, 最好的做法是传const引用
传const是为了让调用的人放心传入, 同时传入引用还能避免对象切割问题(派生类传入声明为基类的参数时派生类会退化为基类...), 起到多态的效果
传引用的底层实现是指针, 因此对于内置类型和STL迭代器与STL函数对象, 传值的效率会高于传引用, 这是底层决定的....其它情况尽量都使用传引用, 因为大多数时候copy的代价都大于指针, 且难以被编译器优化
21 必须返回对象时, 别妄想返回其reference
返回对象引用时, 一定要记住引用只是别名, 底层是指针,