gpt4 book ai didi

c++ - 检查模板类型 T 是否是 C++17 中可变参数包的一部分

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:27 26 4
gpt4 key购买 nike

我想检查类型 T 是否也是参数包 Ts 的一部分。有solutions在 C++14 中执行此操作,但我正在徘徊是否可以在 C++17 中对此进行简化。如果在 Ts 中找不到 T,编译器应该停止(static_assertion 应该失败)。

template<typename... Ts>
class A
{
template<typename T>
void action() {
// check that T is also in Ts (static_assertion)
}
}

最佳答案

我听说折叠表达式是新热点:

static_assert((std::is_same_v<T, Ts> || ...));

关于c++ - 检查模板类型 T 是否是 C++17 中可变参数包的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594593/

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