在 C++11的程序中,所有的值必须属于左值,将亡值,纯右值之一。
将忘值则是c++11新增的跟右值引用相关的表达式,这样表达式通常是将要被移动的对象(以为他用),比如返回右值引用T&&的函数返回值,std::move的返回值,或者转换为T&&的类型的转换函数的返回值。而剩余的,可以标识函数、对象的值都属于左值。
纯右值就是C++98标准中右值的概念,讲的是用于辨识临时变量和一些不跟对象关联的值。比如非引用返回的函数返回的临时变量值就是一个纯右值。一些运算表达式,比如 1+3产生的临时变量值,也是纯右值。而不跟对象关联的字面量值,比如:2,‘c' ture。也是纯右值。此外,类型转换函数的返回值,lambda表达式等也是右值。
引用《深入理解 C++11》
标签:11,纯右值,右值,左值,c++,返回值,表达式 From: https://www.cnblogs.com/keleman/p/18007555