C语言中,左值、纯右值和将亡值有何区别?

更新于
2026-10-10 14:39:08
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3842个文字,预计阅读时间需要16分钟。

C语言中,左值、纯右值和将亡值有何区别?

目录导入一. 表达式二. 值类别三. 左值四. 纯右值五. 将值六. 注意导入C++基本本体中,左值是存在左值的,右值是右值的概念,但C11中又出现了左值,纯右值,将值等概念;这里我们主要介绍这些概念。

目录
  • 引入
  • 一.表达式
  • 二.值类别
  • 三.左值
  • 四.纯右值
  • 五.将亡值
  • 六.注意

引入

C++中本身是存在左值,右值的概念,但是在C11中又出现了左值,纯右值,将亡值得概念;这里我们主要介绍这些值的概念。

一.表达式

定义:由运算符和运算对象构成的计算式(类似数学中的算术表达式)

每个 C++ 表达式(带有操作数的操作符、字面量、变量名等)可按照两种独立的特性加以辨别:**类型和值类别 **(value category)。每个表达式都具有某种非引用类型,且每个表达式只属于三种基本值类别中的一种:纯右值 (prvalue)、亡值 (xvalue)、左值 (lvalue)。

二.值类别

对于表达式来说:表达式是可以求值的,对表达式求值将得到一个结果,这个结果有两个属性:类型和值类别。

阅读全文

本文共计3842个文字,预计阅读时间需要16分钟。

C语言中,左值、纯右值和将亡值有何区别?

目录导入一. 表达式二. 值类别三. 左值四. 纯右值五. 将值六. 注意导入C++基本本体中,左值是存在左值的,右值是右值的概念,但C11中又出现了左值,纯右值,将值等概念;这里我们主要介绍这些概念。

目录
  • 引入
  • 一.表达式
  • 二.值类别
  • 三.左值
  • 四.纯右值
  • 五.将亡值
  • 六.注意

引入

C++中本身是存在左值,右值的概念,但是在C11中又出现了左值,纯右值,将亡值得概念;这里我们主要介绍这些值的概念。

一.表达式

定义:由运算符和运算对象构成的计算式(类似数学中的算术表达式)

每个 C++ 表达式(带有操作数的操作符、字面量、变量名等)可按照两种独立的特性加以辨别:**类型和值类别 **(value category)。每个表达式都具有某种非引用类型,且每个表达式只属于三种基本值类别中的一种:纯右值 (prvalue)、亡值 (xvalue)、左值 (lvalue)。

二.值类别

对于表达式来说:表达式是可以求值的,对表达式求值将得到一个结果,这个结果有两个属性:类型和值类别。

阅读全文