C++ 中形参声明的区别问题,解释下面两个形参声明的不同之处:

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:07:51
解释下面两个形参声明的不同之处:
void f(T);
void f(T&);

希望会的帮忙解释一下!
那 T 又是什么意思??

第一种是传值,第二种是传引用。
调用的时候写法一样,在作用上有一点区别:第一种在函数f里无法改变实参的值,而第二种可以。

T是类型,比方int, float之类的。你这个是不是从模板里摘出来的?如果前面有个template <class T>的话。

void f(T)是以值的方式调用
void f(T&)是以引用的方式调用,效率高无额外开销

关于 T
你这个写的可能不完整,好像是个模板

模板 大多使用 T 比如:

template <class T> void Swap(T &S1, T &S2)
{
T s;
s = S1;
S1 = S2;
S2 = s;
}

2楼的大部分都对,但是引用真的不用增加开销么?我觉得取值没有引用安全.

取地址