广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实例讲解引用的使用
  • 517
分享到

C++实例讲解引用的使用

2024-04-02 19:04:59 517人浏览 薄情痞子
摘要

目录1.什么是引用2.引用的用法2.1 普通引用2.2 const 引用2.3 作用在函数参数2.4 作用在函数返回值3.引用的本质1.什么是引用 引用可以看作是一个已经定义的变量的

1.什么是引用

引用可以看作是一个已经定义的变量的别名,其作为变量别名而存在。

2.引用的用法

2.1 普通引用

当引用作为普通引用时,其使用语法如下所示:

Type& new_name = old_name;

e.g.

int a = 0;
int& b = a;
b = 5;				// 此时,a = 5

注意

在定义时必须使用相同类型的变量进行初始化

不能使用常量进行初始化

int& b = 0;

2.2 const 引用

在 C 语言中,const 使所修饰的变量具有只读的属性。同样,在 c++ 中仍具有这个属性。其使用语法如下所示:

int a = 0;
const int& b = a;
b = 5				// error,变量 b 是只读变量

注意:

在定义时必须使用相同类型的变量进行初始化

当使用常量进行初始化时,C++ 编译器会为常量值分配空间,并将引用名作为这段空间的别名

e.g.

const int& a = 0;

2.3 作用在函数参数

引用在一些场合可以代替指针来使用,具有如下优点:

  1. 功能性:可以满足多数需要使用指针的场合
  2. 安全性:可以避开由于指针操作不当而带来的内存错误
  3. 操作性:简单易用

e.g. 在函数参数方面使用引用

void Demo(int& a, int& b)
{
    int t = a;
    a = b;
    b = t;
}

e.g. 使用指针来实现上述函数的功能

void Demo(int* a, int* b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

2.4 作用在函数返回值

引用不仅可以作用在函数的参数方面,而且可以作用在函数的返回值方面,即返回指针

e.g.

int& Demo()
{
    static int i = 0;
    printf("Demo: i = %d\n", i);
    return i;
}
int main()
{
    int& j = Demo();
    printf("main: j = %d\n", j);
    j = 11;
    Demo();
    printf("main: j = %d\n", j);
    return 0;
}

3.引用的本质

引用在 C++ 中的内部实现是一个指针常量,即 Type& name == Type* const name。因此,引用所占用的空间大小与指针相同。

到此这篇关于C++实例讲解引用的使用的文章就介绍到这了,更多相关C++引用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++实例讲解引用的使用

本文链接: https://www.lsjlt.com/news/150205.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++实例讲解引用的使用
    目录1.什么是引用2.引用的用法2.1 普通引用2.2 const 引用2.3 作用在函数参数2.4 作用在函数返回值3.引用的本质1.什么是引用 引用可以看作是一个已经定义的变量的...
    99+
    2022-11-13
  • C++中list的用法实例讲解
    目录前言一、list的节点二、list的迭代器2.1、模板参数为什么是三个2.2 const 迭代器2.3 修改方法二、美中不足三、迭代器的分类3.x std::find的一个报错总...
    99+
    2022-11-12
  • C++11语法之右值引用的示例讲解
    目录一、{}的扩展initializer_list的讲解:二、C++11一些小的更新decltypenullptr范围for新容器三、右值引用右值真正的用法完美转发默认成员函数总结一...
    99+
    2022-11-13
  • C语言指针引用数组案例讲解
    前言:C语言中指针玩的是什么,是内存,要想学好指针的小伙伴们要先对数据在内存中是怎么玩的做一番了解~       当在...
    99+
    2022-11-12
  • java软引用在浏览器使用实例讲解
    1、说明 如果一个网页在浏览结束时回收内容,需要按后退查看之前浏览过的页面时重建; 如果将浏览过的网页存储在内存中,会造成大量内存浪费,甚至导致内存溢出。 2、实例 // 获取...
    99+
    2022-11-12
  • c++超细致讲解引用
    C和C++禁止在函数调用时直接传递数组的内容,而是强制传递数组指针,而对于结构体和对象没有这种限制,调用函数时既可以传递指针,也可以直接传递内容;为了提高效率,我曾建议传递指针,这样...
    99+
    2022-11-13
  • C语言实例讲解选择语句的使用
    目录一、if…else选择语句详解1. 图示if…else流程2. if…else代码流程3. if…else的三种情况3.1...
    99+
    2022-11-13
  • C++实例讲解四种类型转换的使用
    目录C++类型转换C语言风格的转换C++风格的类型转换static_castreinterpret_castconst_castdynamic_cast小结C++类型转换 C语言风格...
    99+
    2022-11-13
  • mysql IS NULL使用索引案例讲解
    简介 mysql的sql查询语句中使用is null、is not null、!=对索引并没有任何影响,并不会因为where条件中使用了is null、is not null、!=这些判断条件导致索引失效而...
    99+
    2022-05-25
    mysql IS NULL mysql IS NULL索引
  • C++详细讲解引用类型
    目录一、C++中的引用类型二、如何使用C++中的引用类型一、C++中的引用类型 在以严蔚敏老师的《数据结构》为代表的诸多数据结构的书中,都出现了C++引用这一用法,所以在学习数据结构...
    99+
    2022-11-13
  • C++ 超详细示例讲解list的使用
    目录一、list的介绍list的介绍二、list的使用2.1 list的构造函数2.2 list迭代器的使用2.3 list相关的容量大小相关的函数2.4 list数据的访问相关的函...
    99+
    2022-11-13
  • C++详细分析讲解引用的概念与使用
    目录1.引用的概念2.引用的格式3.引用的特性4.取别名原则5.引用的使用场景做参数做返回值int&Count()的讲解传值传引用效率比较6.引用和指针的不同点1.引用的概念...
    99+
    2022-11-13
  • Java实例讲解Comparator的使用
    目录前言关于Comparator原题前言 今天刷个题,遇到一个很有趣的问题,关于Comparator的使用,感觉也是一个关于写代码的一些小细节的问题 关于Comparator Com...
    99+
    2022-11-13
    Java Comparator方法 Java Comparator接口
  • C#泛型编的实例讲解
    本篇内容介绍了“C#泛型编的实例讲解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C# 泛型编程实例:using System;&...
    99+
    2023-06-17
  • C/C++举例讲解关键字的用法
    目录staticstatic修饰全局变量static修饰局部变量static修饰函数constBOOLbreakcontinuestatic static修饰全局变量 static修...
    99+
    2022-11-13
  • C语言简明讲解单引号与双引号的使用
    目录一、单引号和双引号二、小贴士三、程序实例分析1四、程序实例分析2五、容易混淆的代码六、小结一、单引号和双引号 C语言中的单引号用来表示字符字面量C语言中的双引号用来表示字符串字面...
    99+
    2022-11-13
  • Vue3项目中引用TS语法的实例讲解
    目录基础语法vue-routervuex#####elementPlusaxiossetup script基础语法 定义data  //script标签上 **lang="...
    99+
    2022-11-13
  • C语言实例讲解四大循环语句的使用
    目录一、do…while()循环1. 图示流程2. 代码流程3. 示例代码1到100求和)二、while()循环1. 图示流程2. 代码流程3. 示例代码(1到100求...
    99+
    2022-11-13
  • C++关于const与引用的分析讲解
    目录一、关于 const 的疑问二、关于引用的疑问三、小结一、关于 const 的疑问 const 什么时候为只读变量?什么时候是常量? const 常量的判别准则 只有用字面量初始...
    99+
    2022-11-13
  • 实例讲解gist的使用方法
    在程序员的日常工作中,经常需要使用代码托管服务来管理自己的项目。而Github作为最大、最流行、最广泛使用的软件代码托管服务商,相信是大家非常熟悉的。而在 Github 中,精选的 Git 代码片段存储库,就是 gist, 它可以被看做是一...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作