C语言中左值、纯右值和将亡值有何区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3832个文字,预计阅读时间需要16分钟。
目录+引入+一.表达式+二.值类型+三.左值+四.右值+五.将值+六.注意+引入+C++中基本身是存在左值,右值的概念,但C11中又出现了左值,右值,将值的概念;这里我们主要介绍这些概念。
目录
- 引入
- 一.表达式
- 二.值类别
- 三.左值
- 四.纯右值
- 五.将亡值
- 六.注意
引入
C++中本身是存在左值,右值的概念,但是在C11中又出现了左值,纯右值,将亡值得概念;这里我们主要介绍这些值的概念。
一.表达式
定义:由运算符和运算对象构成的计算式(类似数学中的算术表达式)
每个 C++ 表达式(带有操作数的操作符、字面量、变量名等)可按照两种独立的特性加以辨别:**类型和值类别 **(value category)。每个表达式都具有某种非引用类型,且每个表达式只属于三种基本值类别中的一种:纯右值 (prvalue)、亡值 (xvalue)、左值 (lvalue)。
二.值类别
对于表达式来说:表达式是可以求值的,对表达式求值将得到一个结果,这个结果有两个属性:类型和值类别。
本文共计3832个文字,预计阅读时间需要16分钟。
目录+引入+一.表达式+二.值类型+三.左值+四.右值+五.将值+六.注意+引入+C++中基本身是存在左值,右值的概念,但C11中又出现了左值,右值,将值的概念;这里我们主要介绍这些概念。
目录
- 引入
- 一.表达式
- 二.值类别
- 三.左值
- 四.纯右值
- 五.将亡值
- 六.注意
引入
C++中本身是存在左值,右值的概念,但是在C11中又出现了左值,纯右值,将亡值得概念;这里我们主要介绍这些值的概念。
一.表达式
定义:由运算符和运算对象构成的计算式(类似数学中的算术表达式)
每个 C++ 表达式(带有操作数的操作符、字面量、变量名等)可按照两种独立的特性加以辨别:**类型和值类别 **(value category)。每个表达式都具有某种非引用类型,且每个表达式只属于三种基本值类别中的一种:纯右值 (prvalue)、亡值 (xvalue)、左值 (lvalue)。
二.值类别
对于表达式来说:表达式是可以求值的,对表达式求值将得到一个结果,这个结果有两个属性:类型和值类别。

