当前位置: 首页 > news >正文

【C++】Expression的学习笔记

在这里插入图片描述
关于不同类别表达式的举例,请参考博文《C++ 中的值类别》

1. 左值和右值的简单理解

  • 左值对应了具有内存地址的对象,而右值仅仅是临时使用的值对象。(引用自博文《C++ 中的值类别》)
  • 左值有名称(变量或常量名称),右值是临时对象没有名称

2. lvalue: locator-value

快速判断标准:每次调用此表达式,值所在的地址都一样。

Note
[Arthur O’Dwyer]:
So anything with a name is always an lvalue, regardless.
所以无论如何,任何有名字的对象总是左值。

13.3 rvalue:右值

右值举例:

  • Literals(字面量)ep. 42

13.3.1 右值的特点

  • 无法建立普通引用:因为右值没有合法的固定地址

13.3.2 prvalue: pure right-value

纯右值:prvalue
Cppreference: prvalue examles

prvalue被绑定到引用上时,其生命周期会延长

这里我们参考了博文《现代C++之万能引用、完美转发、引用折叠(万字长文)》中的描述:

[有生命周期延长的情况]:
如果一个 prvalue 被绑定到一个引用上,它的生命周期则会延长到跟这个引用变量一样长。

13.4 Xvalue:亡值

13.5 Xvalue与prvalue的区别

它们的主要区别在于,xvalue表示的对象是可以被移动的,其资源可以被转移到另一个对象中,而prvalue则不能。

13.6 String literal is an lvalue; other literals are rvalues.

C++标准中明确说明了:字符串立即数会被视为左值,而其它立即数则视为右值。

13.7 Rvalue-reference

对于局部变量,std::move产生的右值变量和原始变量共享相同地址

示例:Cpp_var_rref

相关文章:

【C++】Expression的学习笔记

关于不同类别表达式的举例,请参考博文《C 中的值类别》 1. 左值和右值的简单理解 左值对应了具有内存地址的对象,而右值仅仅是临时使用的值对象。(引用自博文《C 中的值类别》)左值有名称(变量或常量名称&#xff09…...

[数据库迁移]-MySQL常见问题

[数据库迁移]-MySQL常见问题 森格 | 2023年2月 介绍:记录在MySQL数据库迁移过程中遇到的问题,以及解决方案。 文章目录[数据库迁移]-MySQL常见问题一、背景二、常见问题2.1 ERROR 20032.2 ERROR 12732.3 ERROR 10712.4 视图权限2.5 ERROR 1062三、总结一…...

C语言编译过程

C语言编译过程1、C语言编译过程2、单c文件编译实践3、多c文件编译实践4、define4.1、不带参宏4.2、带参宏4.3、带参宏和带参函数的区别5、选择性编译ifdef、ifndef、if5.1、#ifdef5.2、#ifndef5.3、#if6、静态库和动态链接库6.1、静态库实践6.1.1、将mylib.c制作成静态库6.1.2、…...

前端学习 ---常用标签

常用标签 1,文本标签 文本标签是双标签&#xff0c;自带加粗效果&#xff0c;有自己对应的文本大小&#xff0c;并且独占一行&#xff0c;有默认间距 一级标签&#xff1a;< h1 > < /h1 > 二级标签&#xff1a;< h2 > < /h2> 三级标签&#xff1a;&l…...

2023年PMP考试难不难?

整个考试的考察方向转向还是比较大的&#xff0c;基本上以“价值传递”和“以人为本”这两个出发点来考察项目经理所需要的能力。 1}新版提纲题目数量的变化 总题量从200道减少到180道&#xff0c;所以答题时间上相对变的宽裕一些。考试时间230分钟&#xff0c;中间有十分钟休…...

Netty 入门

文章目录一、概述1.1 Netty 是什么&#xff1f;1.2 Netty 的地位1.3 Netty 的优势二、Hello World2.1 目标2.2 服务器端2.3 客户端2.4 流程梳理三、组件3.1 EventLoop3.2 演示 NioEventLoop 处理 io 事件3.3 演示 NioEventLoop 处理普通任务3.4 演示 NioEventLoop 处理定时任务…...

收藏|一文掌握数据分析在企业的实际流程

一、数据分析概念 1.1 数据分析 是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。 1.2 数据分析包括 描述性数据分析&#xff08;初级数据分析&#xff09;…...

100ask_imx6ull 输出PWM

查看PWM对应扩展板的引脚 100ask_imx6ul通过扩展板插槽来验证pwm波&#xff0c;所以这里通过扩展板的原理图及芯片手册可知&#xff0c;gpio4_io20&#xff0c;gpio4_io19分别对应着PWM8和PWM7。 设置设备树 打开官方NXP的工具i.MX pins v6工具&#xff0c;PWM7/PWM8的配置如…...

yolov5编译安卓APP:解决图像上全是检测框

yolov5编译安卓APP&#xff1a;解决图像上全是检测框前言一、第一个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法二、第二个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法三、其他1.APK打包2.修改APP图标与名字前言 YOLOv5编译安卓A…...

为什么我们需要地图?

想一想&#xff0c;武侠小说里面。一张藏宝图&#xff0c;引来江湖腥风血雨&#xff0c;要么是武功秘籍&#xff0c;要么是绝世宝剑&#xff0c;要么是富可敌国的财富&#xff0c;只要有了藏宝图&#xff0c;便可曲径通幽&#xff0c;到达彼岸。 由此可见&#xff0c;地图的重…...

攻防世界1.新手练习区

4.攻防世界1.新手练习区 1.view_source 访问url&#xff1a; http://111.200.241.244:48855/ 鼠标点击右键不起作用&#xff0c;F12审查元素 得到flag为cyberpeace{0f3a3e4ab8c8664f3cf40d4240ec7b53} 2.robots 访问url&#xff1a; http://111.200.241.244:34362/ rob…...

Python进阶篇(二)-- Django 深入模型

上一节提到了Django是基于MVC架构的Web框架&#xff0c;MVC架构追求的是“模型”和“视图”的解耦合。所谓“模型”说得更直白一些就是数据&#xff08;的表示&#xff09;&#xff0c;所以通常也被称作“数据模型”。在实际的项目中&#xff0c;数据模型通常通过数据库实现持久…...

ABAP SALV实现弹出ALV选择

问题场景 需要弹出一个ALV并获取选择的数据 实现思路 跳转屏幕弹出ALV&#xff08;通过SALV&#xff09;弹出ALV&#xff08;通过REUSE_ALV_POPUP_TO_SELECT&#xff09; 实现效果 因为这里需要的是单选&#xff0c;所以没有多选列 实现代码 MODULE sel_zfretype INPUT.…...

git check-pick,git patch 与 git stash 详解

大家好&#xff0c;我是 17。 今天和大家聊一聊 git check-pick&#xff0c;git patch 与 git stash 的用法。 git cherry-pick 为什么要用 cherry-pick? 不适合 merge 的场景就可以考虑 cherry-pick。 试想下面这些场景 只想同步分支的部分提交。两个分支是两上完全独立…...

OA漏洞-到处搜集整理

一米OA getfile.jsp 任意文件读取漏洞 原文链接 漏洞复现 一米OA getfile.jsp 任意文件读取漏洞 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。一米OA getfile.jsp文件存在任意文件读取漏洞&am…...

web端接收读卡器卡片信息

项目背景 通过电脑连接的读卡器读取卡片信息&#xff0c;并由web页面接收和处理卡片信息。 读卡器抛出卡片信息流程 卡片贴近或放置到读卡器上读卡器解析卡片信息&#xff0c;并形成固定格式的字符串&#xff0c;包括的信息有&#xff1a;卡片写入的数据、卡片原数据&#x…...

BUUCTF-练习场-WEB-第一部分(8道)

[极客大挑战 2019]EasySQL 1payload&#xff1a;1 or 11#是闭合前面的查询语句&#xff0c;or 11恒成立&#xff0c;可以使用or句子绕过判断&#xff0c;#用于注释&#xff0c;注释后面的内容不再执行&#xff0c;所以该sql命令会返回表内所有内容&#xff0c;其实就是实现一个…...

Java Reflection 实战- Class类

Java Reflection 实战 - Class Java 反射使得在运行时检查类、接口、字段和方法成为可能&#xff0c;而不需要在编译时知道类、方法等的名称。也可以使用反射来实例化新对象、调用方法和获取/设置字段值。 Java反射的功能相当强大&#xff0c;可以说是非常有用。例如&#xff…...

背包问题理解思路(01背包、完全背包、分组背包)

这两天把经典的三个背包问题看了一下&#xff0c;网上大多文章是以代码和公式为主&#xff0c;因为平时没刷过算法题所以理解起来花了些时间&#xff0c;固写一篇文章记录理解思路&#xff0c;本文不包含代码实现&#xff08;理解了思路代码实现应该是小问题&#xff0c;网上一…...

Mr. Cappuccino的第39杯咖啡——Kubernetes之深入理解Pod

Kubernetes之深入理解PodPod相关概念Pod详细配置清单Pod核心配置Pod基本配置1. 创建yaml文件2. 创建namespace并根据yaml文件创建资源3. 查看namespace下的pod列表以及pod的详细信息Pod中多个容器的名称和端口号不能相同Pod镜像拉取策略Pod环境变量Pod端口相关设置Pod资源相关配…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...