rvalue-reference 问答列表

转发引用不推导到右值引用 [重复]

作者:Elucidase 提问时间:9/21/2023

这个问题在这里已经有答案了: 类型未推断为 r 值参考:为什么不呢? (2 个答案) 2个月前关闭。 首先,这个问题已经被其他人问过了,看到这个和这个,但(我认为)他们都没有提供令人满意的答案。 ...

将参数包传递给从返回类型中扣除模板的功能

作者:Oliver Hawker 提问时间:8/30/2023

我正在编写一个对象分配器,我想按以下方式调用它: T result = factoryObject.construct(argA, argB, argC); 我目前有这个设计,它有效.........

在 c++11 之前的 vector.push_back(const & T val) 中按值调用和按右值调用有什么区别

作者:hhu_clj 提问时间:8/23/2023

由于在 C++ 11 之前不支持右值引用,因此没有移动构造函数。参数使它甚至对临时使用复制构造函数,这与通过按值参数调用复制构造函数相同吗?允许接收正确的值,那么为什么不按值传递呢?const T&s...

std::map 如何解决常量左值引用和右值引用之间的 insert() 重载

作者:chiasmos 提问时间:1/26/2023

我正在编写一个模板库,该模板库应该镜像 std::map 的接口。我在实现以下 insert() 重载时偶然发现了一个问题。 iterator insert( const value_type& v...

为什么通用引用作为输入参数不起作用

作者:f1msch 提问时间:6/23/2022

template<typename T> constexpr auto log_value(T&& value) { if constexpr (std::is_enum_v<T>) { cout...

为什么 C++ 在函数调用时优先使用右值引用而不是常量引用?[复制]

作者:simplekind 提问时间:6/30/2021

这个问题在这里已经有答案了: 对象、右值引用、常量引用之间的重载解析 (1 个答案) 去年关闭。 所以我用 C++ 11 写了一段代码 #include <iostream> using name...

按值传递和 std::move 与转发引用

作者:Alex O 提问时间:10/28/2021

我经常遇到按值传递和移动的习语: struct Test { Test(std::string str_) : str{std::move(str_)} {} std::string str; ...

使用移动语义:右值引用作为方法参数

作者:DoehJohn 提问时间:6/3/2020

我想仔细检查一下我对移动语义的理解。我的推理中是否遗漏了什么: #include <iostream> using std::cout; struct A { A() {cout<<"Cons...


共18条 当前第2页