void f(T); 与 void f(T&);有什么不同之处?
今天看c++ primer 函数里有一个void f(T); 还有一个void f(T&);
加上那个取地址操作符有什么作用?
[解决办法]
第一个会创建一个T的临时对象拷贝,如果拷贝T这个类型消耗较大的话,比较浪费资源
第二个不会创建T的临时对象拷贝,引用直接传进来的是地址
[解决办法]
这个是引用操作符, 第一个按值传递,在函数里操作的是T副本, 第二个是引用传递,函数里修改T 就是修改参数本身
引用传递可以避免临时对象的构造和析构的系统开销,可以提高效率
[解决办法]
严重建议楼主从头看看基础~~一两句话已经无法解释了..