C++ primer

void swap(int& v1,int& v2);

与所有引用一样,引用形参直接关联到其所绑定的对象,而并非这些对象的副本。

定义引用时,必须与该引用绑定的对象初始化该引用。引用形参完全以相同的方式工作。每次调用函数,引用形参被创建并与实际的实参相关联。

返回引用。

当函数返回引用类型时,没有复制返回值。相反,返回的是对象本身。例如,下面的函数返回两个string类型形参中较短的那个字符串的引用。

const string& shorterString(const string& s1,const string& s2)

{

  return s1.size()<s2.size()?s1:s2;

}

形参和返回类型都是指向const string对象的引用,调用函数和返回结果时,都没有复制这些string对象。

千万不能返回局部对象的引用。

下面的程序是错误的!

const string& shorterString(const string&)

{

   string ret=s;

return ret;//错误!!!!!!!!!!

}

通过引用传递数组

和其他类型一样,数组形参可声明为数组的引用。如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身。在这种情况下,数组大小成为形参和实参类型的一部分。编译器检查数组实参的大小与形参的大小是否匹配。
void pp(int (&arr)[10];
 
使用时:
int k[10]={1,2,3,4,5,6,7,8,9,0};
pp(k);
 

原文链接: https://www.cnblogs.com/kyleada/archive/2011/07/19/2110971.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ primer

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/28966

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午6:22
下一篇 2023年2月8日 上午6:23

相关推荐