问题标签 [parameter-pack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 参数包是否有设定限制?
参数包的元素数量是否有上限或最大数量,例如最大模板递归深度?
c++ - 如何在模板函数中根据对象的类型构造不同的对象?
这是我的问题,我有一个基类Base
、两个派生类ClassA
和仅采用两个参数的ClassB
形式Base
,以及两个类ClassB0
和ClassB1
派生自ClassB
三个参数。我想根据传递给函数的类型创建类实例create
,如果类型派生自ClassB
,第一个参数将填充 10。编译器总是警告没有匹配的构造函数。
c++ - 如何从参数包中获取指向对象的指针
我无法使用参数包获取 2 个相同类型的不同对象以指向不同对象的指针。这是Controller.h:
这是我的Test2.h:
我的问题是当我制作两个单独的 Controller 对象时,它们在各自的向量中共享它们的 Test2 对象。这是我的主要内容:
那么输出是:
我希望 Controller 的不同对象具有指向不同 Test2 对象的不同指针,而我 v3 不知道如何。
此外,作为一个附带问题;我的第一个指针总是变为 0,除非它是向量中唯一的对象。
任何帮助表示赞赏!
c++ - 如何在参数包中使用类型?
我是 c++11 的新手,并试图创建一个运行对象的函数
我不知道如何使用参数包中的类型,正确的语法是什么?
c++ - 从模板参数包将指向成员的指针传递给函数对象
Bellow 是示例代码,它演示了我正在尝试做的事情。
基本上,我想将多个指向成员的指针传递给类方法,该类方法接受std::function
传递给目标函数对象的对象和变量号或参数。
这些变量参数可以是任何东西:变量、指向成员的指针等。
使用普通变量时我没有问题,但是如何扩展参数包,其中参数是指向成员的指针,但函数对象需要 POD 数据类型?
如何获取参数包中成员的指针值并将其传递给函数对象?
c++ - 在模板参数包上使用类型特征?
在下面的示例代码中,我试图检查函数参数是否是指针std::is_pointer
如果只有一个参数,它可以正常工作,但是如何使它与更多参数一起工作,例如在参数包中?
我猜如果参数不是全部指针或全部不是指针,那么我们还有其他问题,但我们假设所有参数都是指针或不是指针。
那么如果参数是指针和非指针的混合呢?
c++ - 模板模板可变参数包
有人可以用模板参数包解释下面的代码吗?它是如何工作的?在这种情况下,模板参数是如何打包和解包的:
可能的请求用法(受内部模板类型 std::vector<std::vector<T>> 的函数模板重载或专业化的启发)
c++ - 实例化模板时必须显式显示参数包中的类型吗?
我有一个例子来说明我的问题:
如果我想实例化这个模板:
编译器抛出错误:
所以我必须写这个:
这很烦人,特别是如果我有一些具有一长串参数的类。
那么有什么方法可以摆脱显式显示参数包中的类型
c++ - noexcept 说明符内的参数包
目前在C++
这两种情况下都不可能,编译器抱怨它需要一个表达式。
这对我来说似乎微不足道,如果您正在构建一个具有可变数量类型的元组对象,如何检查所有这些类型是否都是nothrow
default
/ move
/ copy
constructible
?
这对我来说似乎是一个令人讨厌的语言缺陷。
有什么选择吗?
c++ - enable_if 中参数包的 sizeof... 问题
以下示例在所有主要编译器中均失败clang
:gcc
和visual studio
.
我想知道它有什么问题,它似乎很简单:
如果sizeof...(TYPES) == 2
那么它应该排除一个重载并接受另一个重载,如果 0、1 或大于 2,那么它应该接受第一个重载并排除第二个重载。
为什么这不能这样工作?
clang
错误:
gcc
错误:
visual studio
错误: