条款20:宁以pass-by-reference-to-const替换pass-by-value
2014-06-07 02:22
435 查看
结论1:尽量以pass-by-reference-to-const替换pass-by-value。
pass-by-reference-to-const传递参数的效率高得多,因为没有任何新对象被创建,也就没有任何构造函数或析构函数被调用。声明为const是因为当以by value方式接受实参时,调用者知道实参会受到保护,函数内不会对传入的实参作任何改变。此外,以by reference方式传递参数可以避免切割对象问题(slicing problem)。
结论2:结论1并不适用于内置类型,以及STL的迭代器和函数对象。对它们而言,pass-by-value往往比较适当。
pass-by-reference-to-const传递参数的效率高得多,因为没有任何新对象被创建,也就没有任何构造函数或析构函数被调用。声明为const是因为当以by value方式接受实参时,调用者知道实参会受到保护,函数内不会对传入的实参作任何改变。此外,以by reference方式传递参数可以避免切割对象问题(slicing problem)。
结论2:结论1并不适用于内置类型,以及STL的迭代器和函数对象。对它们而言,pass-by-value往往比较适当。
相关文章推荐
- 条款20:宁以pass-by-reference-to-const替换pass-by-value
- 条款20:宁以pass-by-reference-to-const替换pass-by-value
- 条款20:宁以pass-by-reference-to-const替换pass-by-value
- 读书笔记《Effective c++》 条款20 宁以pass-by-reference-toconst替换pass-by-value
- 条款20 宁以pass-by-reference-to-const替换pass-by-value
- <<Effective c++>>读书笔记---条款20:宁以pass-by-reference-to-const替换pass-by-value
- 《Effective C++》——条款20:宁以pass-by-reference-to-const替换pass-by-value
- Effective C++ -----条款20:宁以pass-by-reference-to-const替换pass-by-value Prefer pass-by-reference-to-const to pass-by-value
- Effective C++ 条款20 宁以pass-by-reference-to-const替换pass-by-value
- Effective c++学习笔记条款20:宁以 pass-by-reference-to-const替换pass-by-value
- 读书笔记《Effective C++》条款20:宁以pass-by-reference-to-const替换pass-by-value
- Effective C++读书笔记-----条款20:宁以pass-by-reference-to-const替换pass-by-value
- 《Effect C++》学习------条款20 :宁以pass-by-reference-to-const替换pass-by-value
- 条款20:宁以pass-by-reference-to-const替换pass-by-value
- Effective C++条款20:宁以pass-by-reference-to-const替换pass-by-value
- effective C++ 条款 20:宁以pass-by-reference-to-const替换pass-by-value
- 条款20:宁以pass-by-reference-to-const替换pass-by-value
- Effective C++:条款20:宁以 pass-by-reference-to-const替换pass-by-value
- 条款20:宁以 pass-by-reference to const 替换 pass by value