rvalue-reference 相关问题

右值引用是C ++ 11中的一种新语言特性,表示对右值的引用。与参考折叠一起,它们用于实现和启用移动语义和完美转发。

std::带有可移动、不可复制参数的线程

以下程序不能在 VS11 beta、gcc 4.5 或 clang 3.1 中构建 #包括 #包括 int main() { std::unique_ptr p; std::线程 th([](std::

回答 2 投票 0

重新解释 C 中的强制转换 - 无法获取右值的地址

我有两个具有相同内存布局的struct struct Temp和struct MyTemp,我想将struct Temp类型的返回值强制转换为struct MyTemp类型,例如在C++中,我可以实现这个go...

回答 1 投票 0

右值的 std::begin(X) 与 X.begin()

对于STL容器,我认为std::begin的共识是“std::begin(c)实际上与c.begin()相同”。但是,根据 cppreference, std::begin(...

回答 1 投票 0

直接使用类型特征与在右值引用的概念中使用类型特征时的不同行为

考虑以下代码片段。 模板 概念 IsRValue = std::is_rvalue_reference_v; void funTakingRValues(IsRValue auto&& val) { std::cout <<...

回答 1 投票 0

为 const 引用和右值引用编写重载

最近我发现自己经常遇到这样的情况:只有一个函数接受某个对象作为参数。该函数必须复制该对象。 然而该函数的参数...

回答 3 投票 0

C++11:为什么右值引用参数隐式转换为左值[重复]

以下是我的问题的简单代码, void 重载 (int&& x) { 计算<< "[rvalue]"; } template 无效 fn (T&& x) { 超载(x); } int main()...

回答 2 投票 0

构建器类方法中 *this 的返回类型 - 左值与右值引用

假设我有一个“构建器”B 类,它构建了一个 C 类,看起来有点像下面这样: B类{ 民众: // ... B& set_foo(Foo a_foo) { foo_ = std::move(a_foo);返回...

回答 1 投票 0

在引用限定符上重载成员函数的用例是什么?

C++11 使得基于引用限定符重载成员函数成为可能: 类 Foo { 民众: 无效 f() &; // 当 *this 是左值时 无效 f() &&; // 当 *this...

回答 4 投票 0

实现值类型赋值的现代方法

这个问题是关于如何在现代C++值类型中实现赋值,目的是避免误导性代码或与内置行为不一致的代码。 在 C++ 中,生成值 (

回答 1 投票 0

这段代码中的析构函数隐藏在哪里?

我无法理解为什么 Foo 移动构造函数尝试在以下示例中调用 ~ptr: #包括 模板 类 ptr { T...

回答 1 投票 0

有条件地使用std::move

我正在尝试将右值引用从模板类 Foo 转发到另一个模板类 Bar,如下所示: #包括 #包括 #包括 #包括...

回答 1 投票 0

C++ 基于范围的 For 循环是否使用 RValue 引用?

嗨,我有一个简单的问题 - 这里说的是基于范围的 for 循环形式 for ( 初始化语句 (可选) 范围声明 : 范围表达式 ) 等价于代码: { 汽车&...

回答 1 投票 0

右值和左值引用的重载函数

假设我有一些模板类 模板 结构虚拟{ // ... }; 我想重载函数“foo”,使其接受左值 或它的右值引用。 我可以做

回答 2 投票 0

函数模板仅采用右值

编写仅采用左值的函数很容易 模板 无效 f(T&); 但由于通用引用,编写只接受右值引用的引用并不困难......

回答 3 投票 0

Boost:任意右值与左值重载解析

我想要函数重载,函数接受 boost::any 左值和 boost::any 右值作为参数,并基于此表现出不同的行为。最小可重复示例...

回答 1 投票 0

std::set<std::unique_ptr<int>> 和 std::views::as_rvalue

我有以下代码,由于某种原因,只有最后一个块不起作用。 我最初认为这可能与 unique_ptr 仅移动或 std::set 具有 const 键有关,但后来它是 unc...

回答 1 投票 0

由右值引用绑定的自定义类的右值的生命周期

#包括 使用命名空间 std; 某类 { 民众: 〜Someclass() { 计算<< "Someclass Dtor called" << endl; } }; int main(...

回答 2 投票 0

右值引用绑定的自定义类的右值的生命周期

#包括 使用命名空间 std; 某类 { 民众: 〜Someclass() { 计算<< "Someclass Dtor called" << endl; } }; int main(...

回答 1 投票 0

左值和右值引用

我很难理解左值和右值引用。看这个代码示例 #包括 //返回右值 int 添加(int x, int y) { 返回 x + y; } //返回l-val...

回答 1 投票 0

std::pair 构造函数重载采用元组如何判断元组内容是否是 r-val 引用?

对于措辞尴尬的问题表示歉意。我的不确定性基于可以大致简化为以下场景的情况。 我有一个 Foo 类,我想要一个 std::pair

回答 1 投票 0

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