value-categories相关内容

右值、左值和形式定义

人们在听到这句话时会感到困惑 int&&X x 具有右值引用类型,但 x 是左值.误解源于这样一个事实,即标识符和表达式是不同的东西,类型和值类别也是如此.此外,表达式的类型是“在进一步分析之前进行调整",“rvalue"和“lvalue"这两个词可以出现在类型名称和值类别名称中. 我想澄清正式定义.假设我们有一个函数: 1 |void f(int&& x) {2 |... = x;3 ..
发布时间:2022-01-05 12:03:51 C/C++开发

cppreference是否使用术语"[对象的身份]"? c ++ 11和c ++ 17有两个不同的含义吗?

我认为我已经完全理解了C ++ 17关于值类别的更改(在其他SO问题的帮助下,谢谢),但是现在我注意到了这个问题,这表明我不太了解它们 在C ++ 11中,对值类别进行了“具有身份/可以从中移出"的解释,并且 具有身份:可以通过比较对象的地址或它们标识的功能(直接或间接获得)来确定该表达式是否与另一个表达式引用相同的实体. 在C ++ 17中,“具有身份/可以从其移出"不再成立,但是 ..
发布时间:2020-04-27 05:00:59 C/C++开发

右值,左值和形式定义

人们在 中听到这些消息时会感到困惑 int&& x x具有右值引用类型,但是x是左值.误解源于标识符和表达式是不同的事物,类型和值类别也是不同的事实.此外,表达式的类型“在进行任何进一步分析之前已进行了调整",并且单词"rvalue"和"lvalue"可以同时出现在类型名称和值类别名称中. 我想澄清正式定义.假设我们有一个函数: 1 | void f(int&& x) { ..
发布时间:2020-04-27 04:40:05 C/C++开发