gpt4 book ai didi

c++ - 如何检查参数包中的每种类型是否唯一?

转载 作者:可可西里 更新时间:2023-11-01 16:40:11 26 4
gpt4 key购买 nike

<分区>

对于固定数量的模板参数,这很容易,尽管手动编写的检查数量呈二次方增长。

#include <type_traits>

template <
typename T1,
typename T2,
typename T3,
typename T4>
struct unique_types
{
static_assert(!std::is_same<T1, T2>::value, "Types must be unique");
static_assert(!std::is_same<T1, T3>::value, "Types must be unique");
static_assert(!std::is_same<T1, T4>::value, "Types must be unique");
static_assert(!std::is_same<T2, T3>::value, "Types must be unique");
static_assert(!std::is_same<T2, T4>::value, "Types must be unique");
static_assert(!std::is_same<T3, T4>::value, "Types must be unique");
};

int main()
{
// OK.
unique_types<int, double, char, float> foo;

// Should not compile.
unique_types<int, double, char, double> bar;
}

对于具有任意数量类型的参数包如何实现?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com