小编PeW*_*eWe的帖子

具有交替类型的参数包

我有一个struct C初始化的可变数量的实例struct Astruct B.例如:

struct A
{};

struct B
{};

struct C
{
    C(A&& o1, B&& p1, A&& o2)
    {}
    C(A&& o1, B&& p1, A&& o2, B&& p2, A&& o3)
    {}
    C(A&& o1, B&& p1, A&& o2, B&& p2, A&& o3, B&& p3, A&& o4)
    {}
    C(A&& o1, B&& p1, A&& o2, B&& p2, A&& o3, B&& p3, A&& o4, B&&p4, A&& o5)
    {}
};
Run Code Online (Sandbox Code Playgroud)

因此,我不想提供具有不同数量参数的多个ctor,而是希望找到一些通用的东西.但是,ctor参数的数量总是增加两个参数:B&&A&&.这可以使用参数包完成.或者是没有针对每个参数实现的另一个解决方案?

目标应该是struct C可以像下面的例子那样构建: …

c++ parameters templates pack variadic-templates

9
推荐指数
2
解决办法
328
查看次数

标签 统计

c++ ×1

pack ×1

parameters ×1

templates ×1

variadic-templates ×1