rvalue 相关问题

rvalue是临时对象(或子对象),或者是与对象不直接关联的值。

什么是左值和右值? [重复]

我听说过在使用指针时出现术语“左值”和“右值”。 但是,我并不完全理解它们的含义。 什么是左值和右值? 注意:这是一个关于C的左值的问题...

回答 2 投票 0

在C++中`for`循环的条件语句中使用右值

我正在执行一项编程任务,该任务接受一个 n 值并使用三个线程来打印零、偶数和奇数。 例如,如果n = 3,它将打印010203。我遇到了一个奇怪的行为...

回答 1 投票 0

std::forword 如何在折叠表达式的上下文中工作

在C++标准库中,std::apply的实现如下: constexpr decltype(auto) _Apply_impl(_Callable&& _Obj, _Tuple&& _Tpl, index_sequence<_Indices...>)

回答 1 投票 0

无法将“Fraction&”类型的非常量左值引用绑定到“Fraction”类型的右值

我正在尝试创建一个结构体 Fraction。我已经定义了构造函数和运算符>>和运算符<< for it, and that works correctly. When I was defining operator+ I got the following error

回答 1 投票 0

C++ 中的对象如何找到右值引用(未命名值)? [重复]

我有一个名为 Matrix 的类。我想要重载运算符!返回矩阵的转置。 当主矩阵是一个未命名的对象时,我更喜欢使用它分配的内存来构造转置矩阵,

回答 1 投票 0

在函数中使用时,右值引用是否被视为左值?

我发布了这个答案:https://stackoverflow.com/a/28459180/2642059 其中包含以下代码: 无效foo(字符串&&酒吧){ 字符串* 温度 = &bar; 计算<< *temp <<...

回答 4 投票 0

为什么 std::string a; std::字符串b; a+b=“abc”;可以吗?

#包括 #包括 int main() { std::字符串a; std::字符串b; a + b =“达达”; } PS D:\WeCode\local_c++> & 'c:\Users\z00841303.vscode\

回答 1 投票 0

有没有办法从采用右值引用的构造函数调用移动构造函数? [重复]

假设我有一个带有移动构造函数的 A 类: A类{ 民众: A(A &&other) = 默认值; } 假设我有一个包含 A 成员的类: B类{ 一个一个; } 第一部分

回答 1 投票 0

C++ 条件表达式在其他类型为 throw 表达式时删除引用

我有一个引用 T* 的函数:void f(T *&t);。当我使用带有 throw 的条件表达式 f(t == nullptr ? throw "nullptr" : t) 调用它时,程序无法

回答 1 投票 0

为什么可以分配给类类型的右值?

为什么这段代码可以编译?我认为 ctor 返回的右值不位于内存中,因此不能用作左值。 #包括 #包括 Y类{ p...

回答 2 投票 0

延长临时材料的使用寿命

允许这样做的设计原理是什么 const Foo& a = function_returning_Foo_by_value(); 但不是这个 Foo& a = function_returning_Foo_by_value(); ? 什么可能会发生...

回答 4 投票 0

将临时绑定到左值引用

我有以下代码 字符串三() { 返回“三”; } void mutate(字符串& ref) { } int main() { 变异(三()); 返回0; } 你可以看到我正在传递 Three() 来改变 m...

回答 5 投票 0

在 C++ 中增加右值

有谁知道为什么这段代码不能编译 int main() { 整数 i = 7; int j = ++i++; // 错误:需要左值作为增量操作数 } 而这段代码编译完美? int main() { Int我...

回答 1 投票 0

is_constructible_v<std::string&&, std::string&&>是什么意思?

我能理解什么是is_constructible_v。 但是 is_constructible_v 是什么意思呢? 有什么区别

回答 2 投票 0

为什么右值引用根据类型的不同表现不同?

我正在阅读有关 C++ 右值引用和表达式的值类别的内容。但是,我无法理解(从左值、x值、纯右值的角度)为什么以下代码按预期工作:

回答 1 投票 0

用 C 计算什么更快? (x==0) 还是 (0==x)? [重复]

我想知道用 C 语言计算什么更好: 如果(x==0) { // 一些代码... } 的 如果(0==x) { // 一些代码... } 我知道最后一个更好,以防程序员忘记第二个 &q...

回答 1 投票 0

“左值到右值”转换对 std::decay 意味着什么?

我对 std::decay 在 cppreference 上的措辞感到困惑。他们说它适用于“左值到右值”。我知道 std::decay 删除了引用,这就是他们的意思吗?如果是这样,...

回答 0 投票 0

在C++中,右值可以用作赋值运算符的左手操作数吗?

结构测试{ 测试(int x):值(x){} 测试&运算符=(常量测试&那){ 价值=那个。价值; // #1 返回*这个; } 整数值{0}; }; 内部主要(){ 测试(1 ...

回答 0 投票 0

具有适当可转换元素的任何可迭代输入的范围参数

我目前正在努力适应 C++20,尤其是在这种情况下的概念和范围。希望标题适合我的问题我还不确定我遇到了什么。 我想创建一个集合方法 f...

回答 2 投票 0

数组和右值

$4.2/1 - “类型的左值或右值 “N T 数组”或“未知数组” T”的界限可以转换为 “指向 T 的指针”类型的右值。这 结果是指向第一个的指针 ...的元素

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.