gpt4 book ai didi

c++ - 什么构成了 RValues?

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:55 24 4
gpt4 key购买 nike

RValues 是不可操作的内存区域,因此像整数这样的文字被认为是 RValues。

  1. 常量构成 RValues 吗? const int x = 0; 至少可操作一次。
  2. 现在,编译器创建的临时对象也是 RValue,即使它们具有可操作的内存区域。为什么会这样?
    因为它们不能被“用户”修改?是这个原因吗?

那么,“用户”不可操作的内存区域称为 RValue 吗?

最佳答案

标量右值是计算为标量值的表达式,如 42i + k(而标量左值是计算为标量对象的表达式,如 i code> 或 *int_ptrnumbers[0])。

类类型的右值是计算为临时对象的表达式。最突出的例子是调用按值返回类对象的函数:

std::string foo()
{
return "hello world";
}

给定上述函数定义,表达式 foo() 是一个右值。请注意,我不是在谈论结果(它是一个临时对象),而是在评估产生该结果的表达式 foo()

关于c++ - 什么构成了 RValues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com