宁以pass-by-reference-co-const 替换 pass-by-value
首先注意以上规则并不适用于内置类型,以及STL的迭代器(其实底层就是一个指针)以及函数对象。
采用pass-by-reference-to-const的原因:
避免自定义类型的构造函数以及析构函数的开销,同时传递reference保证了对象在继承体系中不被切割,保留多态特性。同时传递reference可能引发编译器将其放置在缓存器中,进一步提高效率。
宁以pass-by-reference-co-const 替换 pass-by-value
首先注意以上规则并不适用于内置类型,以及STL的迭代器(其实底层就是一个指针)以及函数对象。
采用pass-by-reference-to-const的原因:
避免自定义类型的构造函数以及析构函数的开销,同时传递reference保证了对象在继承体系中不被切割,保留多态特性。同时传递reference可能引发编译器将其放置在缓存器中,进一步提高效率。