为什么 std::forward 在 lambda 主体中不起作用?
作者:xmllmx 提问时间:12/3/2021
#include <utility> void f(auto const& fn1) { { auto fn2 = std::forward<decltype(fn1)>(fn1); auto...
完美转发 问答列表
作者:xmllmx 提问时间:12/3/2021
#include <utility> void f(auto const& fn1) { { auto fn2 = std::forward<decltype(fn1)>(fn1); auto...
作者:fredoverflow 提问时间:8/12/2011
为什么标准 C++11 库中没有函数模板?我发现std::make_unique std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefined...
作者:Leon 提问时间:4/18/2023
我已经用 C++20 编写了一个无锁和线程安全的环队列,到目前为止它有效。唯一不完美的是它必须有两个方法,一个接受对左值的常量引用作为参数,另一个接受对右值的引用,以便将右值移动到队列中而不是再次构造...
作者:Enlico 提问时间:11/6/2023
取三个函数返回 prvalue、lvalue、xvalue: int f(); int& f(int); int&& f(int, int); 并通过返回的函数调用它们decltype(auto...
作者:paxdiablo 提问时间:3/30/2011
我一直在研究 C++11 的一些新功能,我注意到的一个是声明变量中的双 & 符号,例如 .T&& var 首先,这只野兽叫什么?我希望谷歌能允许我们搜索这样的标点符号。 这究竟意味着什么? 乍一...
作者:Ruperrrt 提问时间:8/5/2021
这个问题是以下问题的后续问题:std::forward 的第二次重载(cppreference.com 上的示例)。 StoryTeller的回答让我想到了这句话所涉及的价值范畴。第二次过载不是吗f...
作者:Steveng 提问时间:8/27/2010
在完全转发中,用于将已命名的右值引用转换为未命名的右值引用。这样做的目的是什么?如果我们将 & 保留为左值,这将如何影响被调用的函数?std::forwardt1t2innert1t2 templa...
作者:HarryP2023 提问时间:6/27/2023
我在 cpp 参考文献 https://en.cppreference.com/w/cpp/language/reference#Forwarding_references 上阅读有关转发参考文献的信...
作者:user21796467 提问时间:11/1/2023
这个问题在这里已经有答案了: 带有模板参数的make_tuple无法编译 (1 个答案) 为什么“std::make_tuple”需要移动语义? (1 个答案) 23天前关闭。 这篇文章是在 23 ...