iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中引用和const关键字怎么用
  • 874
分享到

C++中引用和const关键字怎么用

2023-06-29 02:06:24 874人浏览 独家记忆
摘要

今天小编给大家分享一下c++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了

今天小编给大家分享一下c++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

引用

下面的写法定义了一个引用,并将其初始化为引用某个变量。
类型名 & 引用名 = 某变量名;

int n = 4;int & r = n; // r 引用了n,r的类型是 int &

某个变量的引用,等价于这个变量,相当于该变量的一个别名。

int n = 7;int & r = n;// r 引用了n,r和n就是一回事r = 4;cout << r;// 输出4cout << n;// 输出4n = 5;cout << 4;// 输出5

定义引用时一定要将其初始化成引用某个变量。
初始化之后,它就一直引用该变量,不会再引用别的变量了。
引用只能引用变量,不能引用常量和表达式。

double a = 4, b = 5;double & r1 = a;// r1引用了adouble & r2 = r1;// r2也引用了ar2 = 10;// a修改为10cout << a << endl;// 输出10r1 = b;// 用b的值对r1进行赋值,并非r1改为引用b,因为引用是“从一而终”的cout << a << endl;// 输出5

常引用

定义引用时,前面加const关键字,即为“常引用”。

int n;const int & r = n; // r的类型是const int &

不能通过常引用去修改其引用的内容:
并不是说引用的内容不能被修改

int n = 100;const int & r = n;r = 200; // 编译错误n = 300; // ok

常引用和非常引用的转换
const T &和T &是不同的类型。
T &类型的引用或T类型的变量可以用来初始化const T &类型的引用。
const T类型的常变量和const T &类型的引用则不能用来初始化T &类型的引用,除非进行强制类型转换。

const关键字用法

1)定义常量

const int MAX_VAL = 23;const double PI = 3.14;const string NAME = "Tommy";

2)定义常量指针

不能通过常量指针修改其指向的内容,但内容本身可以被修改,且常量指针的指向可以变化。

int n, m;const int *p = &n;*p = 5;// 编译错误n = 4;// okp = &m;// ok,常量指针的指向可以变化

不能把常量指针赋值给非常量指针,反过来可以。

const int *p1;int *p2;p1 = p2;// okp2 = p1;// errorp2 = (int*)p1;// ok,强制类型转换

[注] 因为常量指针对其所指向的内容没有修改权限,自然也不能赋予别的指针这样的权限。否则,非常量指针接收常量指针的赋值之后,便可以修改所指向的内容了,这存在一定安全隐患。

函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容。

void MyPrintf(const char *p){strcpy(p, "this"); // 编译出错printf("%s", p);// ok}

3)定义常引用

不能通过常引用修改其引用的变量

int n;const int & r = n;r = 5; // errorn = 4; // ok

以上就是“C++中引用和const关键字怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网其他教程频道。

--结束END--

本文标题: C++中引用和const关键字怎么用

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

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

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

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

下载Word文档
猜你喜欢
  • C++中引用和const关键字怎么用
    今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了...
    99+
    2023-06-29
  • C++中引用和const关键字介绍
    目录引用常引用const关键字用法1)定义常量2)定义常量指针3)定义常引用总结引用 下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名;...
    99+
    2024-04-02
  • C++11关键字const怎么使用
    本篇内容主要讲解“C++11关键字const怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11关键字const怎么使用”吧!一、历史按理来说,要想了解一件事物提出的原因,最好的办法...
    99+
    2023-06-25
  • C++ 右值引用与 const 关键字详解
    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,const关键字是一种修饰符。修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告...
    99+
    2024-04-02
  • C语言中的Const关键字怎么用
    这篇“C语言中的Const关键字怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的Const关键字怎么用”文章吧...
    99+
    2023-06-29
  • 详解C++ 左值引用与 const 关键字
    左值引用是已定义的变量的别名,其主要用途是用作函数的形参,将 const 关键字用于左值引用时,其在初始化时可接受的赋值形式变得更加广泛了,这里来总结一下。 左值引用是已定义的变量的...
    99+
    2024-04-02
  • c语言中const关键字的作用
    const关键字在c语言中用于修饰变量或函数,使其值或行为在程序执行期间保持不变。它可以修饰变量(使其成为常量),防止意外修改数据,提高程序安全性。此外,const还可以修饰函数,确保其...
    99+
    2024-05-10
    c语言 敏感数据 代码可读性
  • C语言关键字const与volatile怎么用
    今天小编给大家分享一下C语言关键字const与volatile怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、con...
    99+
    2023-06-30
  • C#中的const和readonly关键字详解
    const和readonly经常被用来修饰类的字段,两者有何异同呢? const 1、声明const类型变量一定要赋初值吗? 一定要赋初值 public class Student ...
    99+
    2022-11-13
    C# const关键字 readonly关键字
  • C#中const,readonly和static关键字的用法介绍
    如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const co...
    99+
    2024-04-02
  • C++11 关键字 const 使用小结
    Const 的作用及历史 const (computer programming) - Wikipedia 一、历史 按理来说,要想了解一件事物提出的原因,最好的办法就是去寻找当时的...
    99+
    2024-04-02
  • ES6新增关键字let和const怎么用
    这篇文章主要介绍了ES6新增关键字let和const怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES6新增加了两个重要的JavaScript关键字:let和const...
    99+
    2023-06-29
  • c++关键字const的用法详解
    目录C语言const的用法1、指向常量的指针变量const int *p指针指向int a;2、常指针(常地址)int * const p指针指向int a;3、指向常量的常指针co...
    99+
    2024-04-02
  • es6中怎么用关键字const声明变量
    这篇文章主要为大家展示了“es6中怎么用关键字const声明变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中怎么用关键字const声明变量”这篇文章吧...
    99+
    2024-04-02
  • C语言中const,指针和引用的关系
    目录const 与指针const 与引用const 与指针、引用总结const 与指针 我们写一段代码来探究以下 int a = 10, b = 20; int* p1 = &...
    99+
    2024-04-02
  • java中const关键字的作用是什么
    在Java中,const并不是一个关键字,而是一个保留字,表示常量(constant)的意思。在Java中,我们可以使用final关...
    99+
    2023-09-05
    java const
  • JavaScript的let和const关键词怎么用
    本篇内容主要讲解“JavaScript的let和const关键词怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的let和const关键...
    99+
    2024-04-02
  • c++中的volatile和variant关键字怎么用
    这篇文章主要讲解了“c++中的volatile和variant关键字怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++中的volatile和variant关键字怎么用”吧!一、两个长...
    99+
    2023-06-29
  • C语言中const,指针和引用的关系是什么
    这篇“C语言中const,指针和引用的关系是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中const,指针和引用...
    99+
    2023-06-26
  • C++中explicit关键字怎么用
    这篇文章给大家分享的是有关C++中explicit关键字怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 隐式转换C++ 构造函数默认类型为implicit,定义时既可以显示说明也可以默认不加该标识符。//...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作