1、概述

引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。引用的声明方法如下:

类型标识符 &引用名 = 被引用对象

int a = 10;
int &b = a;
b = 20;
cout<<a<<" "<<b<<endl;

注意:在引用作为函数返回值时,引用的值不能为函数局部变量。例如如下将产生错误:

int & valplus(int a)
{int b = a+5;return b;//b会被销毁,所以不能用于应用。
}

正确的做法是将引用的对象作为函数参数传入,如下:

#include<iostream>
using namespace std;int & valplus(int &a);int main()
{int num1 = 10;int num2;num2 = valplus(num1);cout<<num1<<" "<<num2<<endl;return 0;
}int & valplus(int &a)
{a = a + 5;return a;
}

C++引用(Reference)相关推荐

  1. java reference 传引用_Java的引用(reference)---Roni

    摘自<Java面向对象编程>一书,作者:孙卫琴 来源:www.javathinker.org 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说 ...

  2. Java中各种引用(Reference)解析

    目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ...

  3. java byreference_Java中各种引用(Reference)解析

    1,引用类型 java.lang.ref整体包结构 类型 对应类 特征 强引用 强引用的对象绝对不会被gc回收 软引用 SoftReference 如果物理内存充足则不会被gc回收,如果物理内存不充足 ...

  4. Java篇 - 四种引用(Reference)实战

    Java的垃圾回收(GC)是虚拟机自动管理的,前面我有篇文章专门讲GC:<JVM篇 - GC给你整明白> Java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看 ...

  5. 引用(Reference)

    先复习一下C语言中,指针的用法 a所在的地址即pa指针变量储存的值,和a改变后的值30 #include <iostream> using namespace std; int main( ...

  6. java byreference_深入理解Java中的引用(一)——Reference

    深入理解Java中的引用(一)--Reference 本系列文章首先会介绍Reference类,为之后介绍的强引用.软引用.弱引用和虚引用打下基础. 最后会介绍虚引用在DirectBuffer回收中的 ...

  7. C++ 语言左值引用 (lvalue reference)

    C++ 语言左值引用 (lvalue reference) C++11 中新增了右值引用 (rvalue reference).当我们使用术语引用 (reference) 时,指的其实是左值引用 (l ...

  8. C++/C++11中左值、左值引用、右值、右值引用的使用

    C++的表达式要不然是右值(rvalue),要不然就是左值(lvalue).这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能. 在C++语言中,二者的区别就没 ...

  9. C++/C++11中引用的使用

    引用(reference)是一种复合类型(compound type).引用为对象起了另外一个名字,引用类型引用(refer to)另外一种类型.通过将声明符写成&d的形式来定义引用类型,其中 ...

  10. C++中Reference与指针(Pointer)的使用对比

    了解引用reference与指针pointer到底有什么不同可以帮助你决定什么时候该用reference,什么时候该用pointer. 在C++ 中,reference在很多方面与指针(pointer ...

最新文章

  1. MATLAB_9-模式识别笔记
  2. 新浪api 40022错误
  3. android界面基本属性
  4. 微服务架构,多“微”才合适?
  5. linux断开会话不中断进程,Linux screen 解决会话终止当前进程断开的问题
  6. GDB入门:A GDB Tutorial with Examples
  7. 《那些年啊,那些事——一个程序员的奋斗史》——30
  8. 《编译原理》一道关于逆波兰式的作业题(学委推导出了逆波兰式的数学公式表示)
  9. A.1.3-控制台输入,类型转换(int.Parse()),格式化输出
  10. Page_Load基类,重写OnLoad
  11. BT5的默认用户名和密码
  12. 新手程序员之初生牛犊不怕虎
  13. 杀死一只知更鸟——派克的经典作品
  14. Unity 游戏实例开发集合 之 FlappyBird (像素鸟) 休闲小游戏快速实现
  15. 首都师范 博弈论 2 1 1占优策略与占优策略均衡
  16. Java那些不为人知的技巧
  17. 支付 VS 清算 VS 结算
  18. SQL中将查询结果赋值给变量
  19. python闭包,自由变量
  20. SQL语句学习(自学记录)

热门文章

  1. 如何解决:Android中 Error generating final archive: Debug Certificate expired on 的错误
  2. 设计模式学习笔记(十)——Decorator装饰模式
  3. 一次遍历等概率选取字符串中的某个字符
  4. UA MATH575B 数值分析下I 梯度下降
  5. VC++环境添加一般类的方法、使用MFC演示基本C++成员变量和成员函数
  6. win32汇编获取当前进程ID和可执行文件名
  7. asp.net ashx 学习总结
  8. 为了可持续的测试自动化,透过表面看本质(译)
  9. python基础复习
  10. 简易promise的实现(二)