C++的引用的简单总结

引用作为函数参数

很多函数中的参数都是值传递的方式,这样函数会创建一个临时对象用来保存数据,占用内存开销;而引用不会,并且在特定情况下又是必须的选择;

sample code:

void swap(int& a, int& b)    // 引用参数
{
    int t = a;
    a = b;
    b = t;
}

void main()
{
    int a = 5;
    int b = 2;
    swap(a, b);
}

使用引用作为参数的作用:

  • 函数里的形参相当于主调函数里参数的一个别名,操作的对象其实是同一个;
  • 引用参数在内存中没有副本,是直接对实参进行操作的;
  • 作用和指针一样,但是如果使用指针的话则需要一直使用*变量名的操作;

常引用

如果希望提高程序效率,并且让让函数值不改变,则推荐使用常引用

sample code:

int a;
const int& p_a = a;
a = 3;    // 正确
p_a = 2;    // 错误

引用作为返回值

使用引用作为返回值,最大的好处在于不会产生被返回的副本,可以节省空间开销

sample code:

template<class T>
T& max( T& a, T& b)
{
    return a < b ? b : a;
}

些许总结

  • 引用的目的主要用于参数传递中,用于解决大块数据的传递效率和内存空间分配问题;
  • 引用参数可以在函数传递中不产生副本,提高效率并且也可以通过const设置常引用,保证数据不被串改;
  • 引用和指针存在一定的区别,但是推荐使用引用,因为可读性高;

原文链接: https://www.cnblogs.com/zuixime0515/p/12799315.html

欢迎关注

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

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++的引用的简单总结

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

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

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

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

(0)
上一篇 2023年3月2日 上午3:05
下一篇 2023年3月2日 上午3:06

相关推荐