完美转发 问答列表

为什么 std::forward 在 lambda 主体中不起作用?

作者:xmllmx 提问时间:12/3/2021

#include <utility> void f(auto const& fn1) { { auto fn2 = std::forward<decltype(fn1)>(fn1); auto...

make_unique完美转发

作者:fredoverflow 提问时间:8/12/2011

为什么标准 C++11 库中没有函数模板?我发现std::make_unique std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefined...

如何完美地转发一个通用引用,要么是常量引用,要么是可移动的右值?

作者:Leon 提问时间:4/18/2023

我已经用 C++20 编写了一个无锁和线程安全的环队列,到目前为止它有效。唯一不完美的是它必须有两个方法,一个接受对左值的常量引用作为参数,另一个接受对右值的引用,以便将右值移动到队列中而不是再次构造...

我什么时候想使用 auto&amp;&amp; 而不是 decltype(auto) 或 -&gt;decltype(return-expr) 作为函数定义的返回类型?

作者:Enlico 提问时间:11/6/2023

取三个函数返回 prvalue、lvalue、xvalue: int f(); int& f(int); int&& f(int, int); 并通过返回的函数调用它们decltype(auto...

T&amp;&amp;(双&amp;符号)在C++11中是什么意思?

作者:paxdiablo 提问时间:3/30/2011

我一直在研究 C++11 的一些新功能,我注意到的一个是声明变量中的双 & 符号,例如 .T&& var 首先,这只野兽叫什么?我希望谷歌能允许我们搜索这样的标点符号。 这究竟意味着什么? 乍一...

std::forward 的 RValue-reference 重载可能会导致悬空引用?

作者:Ruperrrt 提问时间:8/5/2021

这个问题是以下问题的后续问题:std::forward 的第二次重载(cppreference.com 上的示例)。 StoryTeller的回答让我想到了这句话所涉及的价值范畴。第二次过载不是吗f...

std::forward 的主要目的是什么,它解决了哪些问题?

作者:Steveng 提问时间:8/27/2010

在完全转发中,用于将已命名的右值引用转换为未命名的右值引用。这样做的目的是什么?如果我们将 & 保留为左值,这将如何影响被调用的函数?std::forwardt1t2innert1t2 templa...

空初始值设定项列表的 for 循环范围

作者:HarryP2023 提问时间:6/27/2023

我在 cpp 参考文献 https://en.cppreference.com/w/cpp/language/reference#Forwarding_references 上阅读有关转发参考文献的信...

使用 std::make_tuple 实例化具有显式指定类型的元组与使用元组构造函数 [duplicate] 之间的区别

作者:user21796467 提问时间:11/1/2023

这个问题在这里已经有答案了: 带有模板参数的make_tuple无法编译 (1 个答案) 为什么“std::make_tuple”需要移动语义? (1 个答案) 23天前关闭。 这篇文章是在 23 ...


共9条 当前第1页