C/C++中关于 引用 的功能和使用
目录
前言
一、引用的原理
二、引用的使用方法
总结
前言
引用的主要作用是给一个变量赋予一个新的变量名,一同控制相应的数据,其本质是一个简化后的指针常量。但在实际使用时很少需要考虑指针方面的东西,接下来我们将从原理和实际的使用方法及注意事项两方面来讲解引用的概念
一、引用的原理
引用的本质是一个指针常量,假如一段代码中定义了int a=1;之后又定义了int &b=a;则是编译器将自动其换成了int* const b=&a。但是我们在编写代码时无需考虑这个问题,直接使用即可。因为引用即是帮助程序员编写代码的一种语法。
二、引用的使用方法
基本语法:
int n=1;
int &m=n;
数据类型 &新的变量名=原名。相当于为原名起了一个新的名字,但两者指代的内容是一致的。 引用在使用时必须初始化,如:
//错误用法
int &n;//正确用法
int n=1;
int &m=n;
引用在初始化之后可更改赋值,不可改变引用本身。 同时,引用可以作为函数的返回值存在,但不能返回局部变量的引用,如:
//错误示例
int& yy(){int n=1;return n;
}//正确示例
int& yy(){static int n=1;//全局区的静态变量return n;
}
另外引用也可以在函数的形参列表中用const来修饰,防止误操作。
总结
引用的使用有一定的方法,在使用时一定要记得初始化,不能返回局部变量的引用,且可以在函数的形参列表中(加const)使用。
C/C++中关于 引用 的功能和使用相关推荐
- ASP.Net4.0中新增23项功能
这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在V ...
- 指针 与 swift 中的引用
指针 如果你有 C,C++ 或者 Objective-C 语言的经验,那么你也许会知道这些语言使用指针来引用内存中的地址.一个 Swift 常量或者变量引用一个引用类型的实例与C语言中的指针类似,不同 ...
- SAP SD基础知识之订单中装运相关的功能 I
SAP SD基础知识之订单中装运相关的功能 I 一,装运点决定Shipping Point Determination 每个订单行项目都会决定一个shipping point:系统会自动带出一个shi ...
- [转]ASP.Net4.0中新增23项功能
这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在V ...
- 转 mvc项目中,解决引用jquery文件后智能提示失效的办法
mvc项目中,解决用Url.Content方法引用jquery文件后智能提示失效的办法 这个标题不知道要怎么写才好, 但是希望文章的内容对大家有帮助. 场景如下: 我们在用开发开发程序的时候,经常会引 ...
- DataScience:初学者进阶数学处理专家,学会Excel中50个常用功能带你飞
DataScience:初学者进阶数学处理专家,学会Excel中50个常用功能带你飞 目录 初学者进阶数学处理专家,学会Excel中50个常用功能带你飞 1.自动筛选 2.在Excel中字符替换 3. ...
- oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?
oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...
- ASP.NET 2.0 中改进的缓存功能
摘要:本文中,Stephen Walther 将重点介绍 ASP.NET 2.0 中新增的缓存功能,以及如何使用这些新功能改进 ASP.NET 应用程序的性能和可扩展性.(本文包含一些指向英文站点的链 ...
- Perl 教学 Perl5中的引用(指针)
一.引用简介 引用就是指针,可以指向变量.数组.哈希表(也叫关联数组)甚至子程序.Pascal或C程序员应该对引用(即指针)的概念很熟悉,引用就是某值的地址,对其的使用则取决于程序员和语言的规定 ...
最新文章
- java hashmap 重复_java HashMap插入重复Key值问题
- Mac上小巧实用的GIF格式录屏软件 LICEcap
- 【Android View绘制之旅】Measure过程
- linux用户双重认证登录,linux PAM 用户登录认证
- Mybatis之SqlSession简析
- 软件设计师--文件索引
- java-字符串反转
- Unity 图片开启不同选项内存占用
- BXP无盘介绍(转)
- 怎么把cad做的图分享给别人_CAD命令大全分享,作图快人两步
- 八卦罗盘动态时钟(C语言)
- 【Pycharm】安装及激活、界面调整、导入anaconda的依赖库、字体设置微软雅黑
- java个人所得税if语句_java_计算个人所得税
- android 系统重新安装程序,Android应用程序更新时的安装与卸载(调用系统方法)...
- C语言 输出出生日期
- 【经验贴】用最土的手法,最高调的绕过反爬
- Source Insight乱码解决方案
- 人工智能知识体系梳理
- 计算机基础课程-书籍和视频教程资源
- 萌妹子Python入门指北(二)
热门文章
- Plugin ‘‘maven-dependency-plugin“ not found
- 修改Windows PowerShell的背景图片
- 库塔计算器是电子计算机吗,机械计算器“库塔”
- 图像分割性能评价指标
- H5企业网站模板-蓝绿过渡色功能菜单齐全
- 2021物联网五大发展趋势
- 1z0-062 题库解析3
- AIDA64 v5.00.3300
- VUE+WebPack实现精美Html5游戏设计:cardBattle的启动场景设计
- 精确去重和Roaring BitMap