c++面向对象程序设计(c++用什么软件编程)

技术C++右值如何引用本篇内容介绍了“C++右值如何引用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.左值和右值在我

本文介绍了“如何引用正确的C值”的相关知识。很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

1.左值和右值

在我们之前的文章中,我们介绍了所有左值引用。C 11在左值引用的基础上引入了右值引用。因为是新功能,使用频率不是很高,所以有一定的学习成本。

先抛开引用的概念,先看看什么是左值右值。其实很简单。左边的值可以取地址,地址位于等号的左边。右边的值不能得到地址,地址位于等号的右边。

inta=4;例如,我们定义一个int类型的变量A,并使其值等于4。其中A在等号的左边,我们可以找到A的地址,而4在等号的右边,我们没有办法寻址4。所以a是左值,4是右值。

再比如:

int test(){ 0

返回4;

}

inta=test();同样,A在等号的左边,所以有一种方法可以得到地址作为左值。而test()是临时值,没有办法得到地址。这是一个正确的价值观。

所以这里很清楚,有地址的变量是左值,而常数值和没有地址的临时变量是右值。

00-1010了解左值和右值的概念,再看左值引用和右值引用。顾名思义,左值引用是一个可以指向左值但不能指向右值的引用。

inta=4;

int b=a;//法律

intc=4;//非法的但是左值引用也有例外,就是使用const修饰的左值引用是可以指向右值的:

constitint b=4;因为const修饰的引用不能再更改了,所以可以引用正确的值。如果您阅读STL代码,您会发现一些函数的参数是常量,以便与参数是常量的情况兼容。例如,矢量中的push_back:

void push _ back(const value _ type val);右值引用的概念类似于左值引用,即可以指向右值但不能指向左值的引用。为了将其与左值引用区分开来,使用了两个字符。老实说,这个符号令人费解,因为它与和的意思相同。

inta=4;

int b=4;//法律

intc=a;//非法上面第三行代码非法的原因是C是右值引用,不能指向左值。如果我们必须指出呢?没有出路。您可以使用std:move函数,该函数可以将左值转换为右值。

使用命名空间TD;

inta=4;

intc=move(a);move函数听起来像移动,但实际上它并不移动变量,而是执行类似于类型转换的操作。

我不知道你看到这里是不是觉得自己很大,但这还没有结束,这很重要。也就是说,左值引用和右值引用本身都是左值引用:

void test(int tmp){ 0

tmp=2333

}

使用命名空间TD;

inta=4;

int b=a;

intc=4;

测试(a);//非法

测试(b);//非法

测试(c);//非法

测试(移动(a));//法律

测试(移动(b));//法律

测试(移动(c));//法律C中的引用是一个非常大的范畴,除了左值引用和右值引用之外,还有很多细节。例如通用引用、引用折叠、完美转发等.

这里介绍一下“如何引用C的正确值”的内容。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/148699.html

(0)

相关推荐

  • MHA高可用

    技术MHA高可用 MHA高可用目录今日内容概述今日内容详细1.MHA高可用概述2.MHA的工作原理MHA的组成MHA自动故障切换的步骤3.MHA的优点总结4.GTID主从复制什么是GTID主从复制GTI

    礼包 2021年10月20日
  • windows自带画图中曲线的使用(如何根据训练的模型绘制roc曲线)

    技术怎么用WindML画个图这篇文章主要为大家展示了“怎么用WindML画个图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用WindML画个图”这篇文章吧。用WindM

    攻略 2021年12月22日
  • 代理ip服务器要遵循的关键步骤有哪几个

    技术代理ip服务器要遵循的关键步骤有哪几个代理ip服务器要遵循的关键步骤有哪几个,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代理ip服务器要遵循几个关键步

    攻略 2021年10月28日
  • 美国服务器:为什么跨境电商建站首选美国服务器

    技术美国服务器:为什么跨境电商建站首选美国服务器如果您拥有一个跨境电商独立网站,而且收益还不错,那么您的网站每时每刻都有离线的风险,如果机房的抗攻击和抗流量的能力不够强而导致网站崩溃的话,会让您付出严重的代价。对于这些网

    礼包 2021年10月19日
  • 百万级MySQL的数据量怎么快速完成数据迁移

    技术百万级MySQL的数据量怎么快速完成数据迁移这篇文章主要讲解了“百万级MySQL的数据量怎么快速完成数据迁移”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“百万级MyS

    攻略 2021年11月18日
  • 怎么抠公章,如何用photoshop抠公章

    技术怎么抠公章,如何用photoshop抠公章公章是指机关怎么抠公章、团体、企事业单位使用的印章。 各地公安机关对刻制印章手续有严格的规定,根据刻制印章的种类不同,手续不一样,未经批准私刻盖章是违法行为。 用Photos

    生活 2021年10月23日