C++引用(Reference)
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)相关推荐
- java reference 传引用_Java的引用(reference)---Roni
摘自<Java面向对象编程>一书,作者:孙卫琴 来源:www.javathinker.org 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说 ...
- Java中各种引用(Reference)解析
目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ...
- java byreference_Java中各种引用(Reference)解析
1,引用类型 java.lang.ref整体包结构 类型 对应类 特征 强引用 强引用的对象绝对不会被gc回收 软引用 SoftReference 如果物理内存充足则不会被gc回收,如果物理内存不充足 ...
- Java篇 - 四种引用(Reference)实战
Java的垃圾回收(GC)是虚拟机自动管理的,前面我有篇文章专门讲GC:<JVM篇 - GC给你整明白> Java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看 ...
- 引用(Reference)
先复习一下C语言中,指针的用法 a所在的地址即pa指针变量储存的值,和a改变后的值30 #include <iostream> using namespace std; int main( ...
- java byreference_深入理解Java中的引用(一)——Reference
深入理解Java中的引用(一)--Reference 本系列文章首先会介绍Reference类,为之后介绍的强引用.软引用.弱引用和虚引用打下基础. 最后会介绍虚引用在DirectBuffer回收中的 ...
- C++ 语言左值引用 (lvalue reference)
C++ 语言左值引用 (lvalue reference) C++11 中新增了右值引用 (rvalue reference).当我们使用术语引用 (reference) 时,指的其实是左值引用 (l ...
- C++/C++11中左值、左值引用、右值、右值引用的使用
C++的表达式要不然是右值(rvalue),要不然就是左值(lvalue).这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能. 在C++语言中,二者的区别就没 ...
- C++/C++11中引用的使用
引用(reference)是一种复合类型(compound type).引用为对象起了另外一个名字,引用类型引用(refer to)另外一种类型.通过将声明符写成&d的形式来定义引用类型,其中 ...
- C++中Reference与指针(Pointer)的使用对比
了解引用reference与指针pointer到底有什么不同可以帮助你决定什么时候该用reference,什么时候该用pointer. 在C++ 中,reference在很多方面与指针(pointer ...
最新文章
- MATLAB_9-模式识别笔记
- 新浪api 40022错误
- android界面基本属性
- 微服务架构,多“微”才合适?
- linux断开会话不中断进程,Linux screen 解决会话终止当前进程断开的问题
- GDB入门:A GDB Tutorial with Examples
- 《那些年啊,那些事——一个程序员的奋斗史》——30
- 《编译原理》一道关于逆波兰式的作业题(学委推导出了逆波兰式的数学公式表示)
- A.1.3-控制台输入,类型转换(int.Parse()),格式化输出
- Page_Load基类,重写OnLoad
- BT5的默认用户名和密码
- 新手程序员之初生牛犊不怕虎
- 杀死一只知更鸟——派克的经典作品
- Unity 游戏实例开发集合 之 FlappyBird (像素鸟) 休闲小游戏快速实现
- 首都师范 博弈论 2 1 1占优策略与占优策略均衡
- Java那些不为人知的技巧
- 支付 VS 清算 VS 结算
- SQL中将查询结果赋值给变量
- python闭包,自由变量
- SQL语句学习(自学记录)
热门文章
- 如何解决:Android中 Error generating final archive: Debug Certificate expired on 的错误
- 设计模式学习笔记(十)——Decorator装饰模式
- 一次遍历等概率选取字符串中的某个字符
- UA MATH575B 数值分析下I 梯度下降
- VC++环境添加一般类的方法、使用MFC演示基本C++成员变量和成员函数
- win32汇编获取当前进程ID和可执行文件名
- asp.net ashx 学习总结
- 为了可持续的测试自动化,透过表面看本质(译)
- python基础复习
- 简易promise的实现(二)