iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中如何引用常量
  • 246
分享到

C++中如何引用常量

2023-06-17 16:06:07 246人浏览 独家记忆
摘要

c++中如何引用常量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是

c++中如何引用常量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。对C++常量引用可以用其它任何引用来初始化;但不能改变。

关于引用的初始化有两点值得注意:

(1)当初始化值是一个左值(可以取得地址)时,没有任何问题;

(2)当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的:

首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,***用这个临时对象来初始化这个引用变量。

例子:

double& dr = 1; // 错误:需要左值  const double& cdr = 1; // ok

第二句实际的过程如下:

double temp = double(1);  const double& cdr = temp;

作函数参数时:

// bc_temp_objects_not_bound_to_nonconst_ref.cpp  // compile with: /EHsc  #include "iOStream"  using namespace std;  class C {};  void f(C & c) { cout << "C&" << endl; }  void f(C const & c) { cout << "C const &" << endl; }  int main() {  f(C());  }

结果:

C const &

更直接的,用基本类型:

#include <iostream> using namespace std;  void display(int const &ref) {cout<<ref<<'\n';}  int main()  {  int i=1;  display(i);  int const anotheri=2;  display(anotheri);  display(2);  display(1+2);  display(static_cast<int>(3.14159));  }

通过C++常量引用从函数返回一个局部对象:

一般从一个函数返回一个局部对象的引用是不对的:

  1. T & my_op ( void )   

  2. {   

  3. T t;   

  4. return t;   

  5. } // The T object t Got destroyed here so the 
    returned reference is not valid anymore.  

特殊情况:返回一个常引用

const T & my_op ( void )   {   T t;   return t;   }   const T & my_t_obj = my_op ();

在这个情况下,局部变量 t 不会被直接析构,而是会保留到 my_t_obj 的生命周期结束为止。

总之,C++常量引用语法上可以引用一个临时变量。这种方法在使用引用作函数参数和返回局部变量时有意义。我目前看来常量引用主要用在作函数参数或保证不修改原变量的时候。

关于C++中如何引用常量问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网其他教程频道了解更多相关知识。

--结束END--

本文标题: C++中如何引用常量

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

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

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

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

下载Word文档
猜你喜欢
  • C++中如何引用常量
    C++中如何引用常量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是...
    99+
    2023-06-17
  • 【C++】C++ 引用详解 ⑨ ( 常量引用初始化 | C / C++ 常量分配内存的四种情况 )
    文章目录 一、常量引用初始化1、使用 " 普通变量 " 初始化 " 常量引用 "2、使用 " 常量 / 字面量 " 初始化 " 常量引用 "3、C / C++ 常量分配内存的四种情况4、代码示...
    99+
    2023-09-15
    c++ C语言 常量引用 const 常量分配内存 原力计划
  • C#开发中如何处理空引用异常
    C#开发中如何处理空引用异常,需要具体代码示例引言:在C#开发中,空引用异常(Null Reference Exception)是一种常见的错误类型。当我们尝试对空对象进行操作时,例如访问一个空引用的属性或方法时,就会抛出空引用异常。为了编...
    99+
    2023-10-22
    异常处理 C#开发 空引用异常
  • 如何理解C++指针常量和常量指针
    目录术语常量指针(pointer to const)指针常量(指针)前言: 应该怎样正确的姿势去理解指针常量和常量指针,到我发布这篇文章时候,感觉自己对指针常量和常量指针理解还是不够...
    99+
    2024-04-02
  • C#中如何使用索引器
    本篇文章给大家分享的是有关C#中如何使用索引器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、索引器的定义C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集...
    99+
    2023-06-17
  • c#中using如何引用文件
    在C#中,使用using关键字是用来引用命名空间的,而不是用来引用文件。如果想要引用一个文件,可以使用System.IO命名空间中的...
    99+
    2024-04-08
    c#
  • C#中如何使用引用类型
    C#中如何使用引用类型,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先,让我们来看一看值类型(value)(在 C# 中用结构声明)。class t...
    99+
    2023-06-17
  • c++合法常量如何判断
    在C++中,合法的常量可以按照以下几个规则来判断: 整数常量:以数字开头,可以包含0-9的数字,以及可选的正负号(+/-)。例如...
    99+
    2023-10-23
    c++
  • C++引用如何使用
    这篇文章主要介绍“C++引用如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++引用如何使用”文章能帮助大家解决问题。一. 引用的概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编...
    99+
    2023-06-30
  • c语言如何把变量变成常量
    在C语言中,可以使用关键字`const`来将变量声明为常量。例如:```cconst int num = 10;```在上述代码中,...
    99+
    2023-10-10
    c语言
  • C++右值如何引用
    本篇内容介绍了“C++右值如何引用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.左值和右值在我们之前的文章当中,介绍的都是左值引用。C+...
    99+
    2023-06-22
  • C++的引用如何应用
    这篇文章主要讲解了“C++的引用如何应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++的引用如何应用”吧!在C++中,引用就是一个变量的别名,它需要用另一个变量或对象来初始化自身。引用...
    99+
    2023-06-17
  • 如何在VBS中使用Const 常量
    如何在VBS中使用Const 常量?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常量:指的是在程序运行过程中其值保持不变的量,它用来保存固定不变的数值,字符串等常数 。常量...
    99+
    2023-06-08
  • C#中如何使用 const变量
    C#中如何使用 const变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。static readonly与C# const变量,作用是一样的,无论访问修饰符是不是public...
    99+
    2023-06-17
  • C++ 函数返回常量引用可以防止修改吗?
    否,函数返回常量引用并不能防止修改。因为:常量引用指向不可修改的值,但可以指向可修改对象。函数返回的常量引用可能指向非 const 对象,从而允许对其进行修改。使用 const_cast...
    99+
    2024-04-20
    c++ 常量引用
  • C++ 函数常量引用参数传递的注意事项
    常量引用参数传递可确保函数内参数不变性,有以下优势:参数不可变性:函数无法修改常量引用参数。提高效率:无需创建参数副本。错误检测:尝试修改常量引用参数会触发编译时错误。 C++ 函数常...
    99+
    2024-04-21
    函数 c++ 引用
  • linux如何使用双引号来引用变量
    这篇文章主要介绍linux如何使用双引号来引用变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用双引号来引用变量当引用时(使用一个变量的值)用双引号有助于防止由于空格导致单词分割开和由于识别和扩展了通配符而导致的...
    99+
    2023-06-27
  • C++中如何使用变量作用域
    C++中如何使用变量作用域,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C++变量作用域的使用一定要注意,一般是以一对花括号范围作为一个作用域,例如一下一段函数代码:Voi...
    99+
    2023-06-17
  • 如何使用 C++ 函数中的引用参数
    引用参数直接指向传递给函数的变量,提供效率、可修改性和安全性。具体来说,引用参数可以提高效率(避免复制)、允许函数修改调用者中的变量,并消除悬引用风险。语法为在类型名前加 &am...
    99+
    2024-04-19
    c++ 引用参数
  • C# 中readonly常量的作用是什么
    今天就跟大家聊聊有关C# 中readonly常量的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#语言还是比较常见的东西,这里我们主要介绍C# readonly常量,包括...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作