perfect-forwarding 相关问题

完美转发描述了C ++ 11函数模板的一个属性,它允许正确地将参数推导为左值或右值,并将它们以相同的形式转发给其他函数。

C ++ 11 std :: forward_as_tuple和std :: forward

当我将函数参数用作std :: forward_as_tuple的参数时,我应该std :: forward吗? template void fn(List && ... list){//我需要这个吗? ...

回答 4 投票 8

转发可变参量列表

以下两个代码均按预期进行编译和执行,是否有所不同? template auto time_function(T && func,U && ... args){std :: cout&...

回答 1 投票 0

处理元组内的右值ref

我想传递和转发包含右值引用的元组。但是我无法访问元组元素并以正确的方式进行转发。在示例中,我还提供了一个名为...

回答 1 投票 0

完美转发const ref deduction错误

我编写了一个超级简单的线程包装器,它接受一个函数并在一个线程中运行它,并提供一个简单的机制来在线程退出时发出信号。启动功能看起来像// ...

回答 1 投票 0

如何完善转发成员变量[重复]

请考虑以下代码:template void foo(T && some_struct){bar(std :: forward *这里放什么?* />(some_struct.member));在转发...的情况下

回答 3 投票 19

带转发的initializer_list的模板参数推导

我想用perf。使用initializer_list(花括号)转发,但是我编写的代码失败了。如何在下面的代码示例中进行类型推导? #...

回答 2 投票 2

如何拼合异构列表(也就是......的元组元组)

我试图使用C ++ 17折叠表达式和C ++ 14索引技巧来压缩由元组和非元组组成的任意输入。预期结果至少应符合这些......

回答 4 投票 8

从C ++模板中的非const l值引用中推导出一个const l值引用

假设你有以下一对函数:void f(const int&){//做一些事情,制作参数的副本。 } void f(int &&){//做同样的事情,但移动......

回答 1 投票 5

有关lambda重载,类型转换和完美转发的问题

这是关于lambda重载集和完美转发的问题,并且在某种程度上是评论的后续内容。有关如何使用它的更多上下文,请参阅另一个相关问题。我有一些问题......

回答 1 投票 5

T &&(双&符号)在C ++ 11中意味着什么?

我一直在研究C ++ 11的一些新功能,我注意到的是在声明变量时使用双&符号,比如T && var。首先,这只野兽叫什么?我希望 ...

回答 4 投票 698

完美地将STL容器转发到模板类

尝试使用完美转发将序列容器传递给模板化的类。例如:模板 class TContainer,TObject类> ...

回答 1 投票 1

如何正确使用通过转发引用传递的callable?

我习惯将lambda函数(和其他callables)传递给模板函数 - 并使用它们 - 如下所示模板 auto foo(F && f){// ... auto x = std :: ...

回答 3 投票 2

将参数包存储为元组引用

我试图存储可变参数模板的左值引用的参数包供以后使用。我现在有以下工作。模板 class Foo {private:...

回答 1 投票 0

具有任意数量参数的模板函数

我想编写一个函数invoke_measure_time来测量作为参数给出的任何其他函数的执行时间。我部分解决了我的问题,我有以下代码:int ...

回答 3 投票 1

如何正确转发/包装static_cast?

基本上,我需要一个static_cast函数包装器用作谓词(用于转换),因为static_cast直接不能以这种方式使用。 Lambda这次不是首选。我的实施:......

回答 1 投票 1

如何在可变参数函数中的所有参数上调用std :: forward?

我只是编写一个通用对象工厂并使用boost预处理器元库来创建一个可变参数模板(使用2010并且它不支持它们)。我的函数使用rval引用和std:...

回答 1 投票 90

将可变参数函数参数转发给另一个可变参数函数而无需成本

我有一个可变函数LogDebug用于日志写入。记录以两种模式进行。在大多数情况下,我的应用程序将可变参数转发给另一个可变参数函数LogDebugEx,因此该路径......

回答 1 投票 2

转发参数包到构造函数()在g ++ 6.2.1中失败

如何在g ++ - 6.2.1中克服/解决此错误以下代码适用于g ++ - 7.3.0,但升级编译器对我来说不是一个选项。所以我正在寻找一些SFINAE魔法......尝试一下......

回答 1 投票 0

完美转发C ++重载和模板化仿函数及其参数

假设我们有一个看起来像:模板的函数 inline void execute(F && functor,A && ... args){std :: forward (...

回答 2 投票 2

当一个完美的转发构造函数存在时,前导左值引用构造函数的意图是什么?

我们来看std :: pair 举个例子。它有以下两个构造函数:constexpr对(const T1&x,const T2&y); //#1模板<class U1,U2类......

回答 2 投票 7

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