gpt4 book ai didi

c++ - 有条件的 static_assert

转载 作者:行者123 更新时间:2023-11-30 01:13:19 26 4
gpt4 key购买 nike

在 C++11 中是否有一种优雅的方式来执行条件 static_assert

例如:

template <class T>
class MyClass
{
COMPILE_TIME_IF( IsTypeBuiltin<T>::value)
static_assert(std::is_floating_point<T>::value, "must be floating pt");
};

最佳答案

static_assert() 中的简单 bool 逻辑应该可以做到这一点:

static_assert(
(!std::is_fundamental<T>::value)
|| std::is_floating_point<T>::value,
"must be floating pt"
);

T 要么不是 基本的,要么是 float 。换句话说:如果 T 是基本的,那么它也必须是 float 。

关于c++ - 有条件的 static_assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450857/

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