转自:http://zhidao.baidu.com/link?url=Le20bj4DncREnLdpUEFAK5l-9eBbBByzTd0CWpYihwhBXUyluW-87p_6ukXCrEAzyzg7UrK4bPcALmHtxVGW7_
参数是简单类型(如整数)而且程序中不改变参数的值就不要用了,
复杂类型要用,避免拷贝构造函数被调用。如果你想改实际参数的值,也用引用。
--------------------------------------------------
不是说了吗,根据你的数据类型和是否要在函数中改变此参数的值。像求加法这样的简单函数,就不用引用:
int Add(int l, int r)
{
return l + r;
}
如果你要改参数的值,就用。比如一个函数返回几个结果:
void f(int i, int &j, int &k, int &m)
{
j=i++;
j=i*2;
m=j-5;
}
如果你有复杂的类型,也要用引用,因为不用引用就会调用拷贝构造函数把你的复杂对象拷贝一次,比较慢。不过要用常引用:
void f(const MyClass &c)
{
...................
}
C++ 参数传递技巧
本文介绍了C++中如何合理使用引用传递参数,包括何时使用引用而非值传递,特别是在处理复杂类型时避免不必要的拷贝构造,提高程序效率。
685

被折叠的 条评论
为什么被折叠?



