effective_c++条款20,用pass-by-reference-to-const替换pass-by-value
Posted Kooing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了effective_c++条款20,用pass-by-reference-to-const替换pass-by-value相关的知识,希望对你有一定的参考价值。
pass-by-value
void f(A a);
1)导致复制是浪费资源
2)多态是导致对象切割
所以我们使用
void f(const A& a)
上面的话针对class,不针对基本类型,函数对象(重载运算符),stl的迭代器。
基本类型:本来就很小,直接复制。
函数对象:暂时不清楚
stl迭代器:暂时不清楚
以上是关于effective_c++条款20,用pass-by-reference-to-const替换pass-by-value的主要内容,如果未能解决你的问题,请参考以下文章
读书笔记_Effective_C++_条款十五:在资源类管理类中提供对原始资源的访问
读书笔记_Effective_C++_条款二十一:当必须返回对象时,别妄想返回其reference
读书笔记_Effective_C++_条款二十五: 考虑写出一个不抛出异常的swap函数
读书笔记_Effective_C++_条款十七:以独立语句将new产生的对象置入智能指针