c++ - 检测是否设置了某个位(在编译时)

标签 c++ compile-time

如何检测位置n的位是否设置为常量?

最佳答案

template<std::uint64_t N, std::uint8_t Bit>
struct is_bit_set
{
    static bool const value = !!(N & 1u << Bit);
};

!! 用于简洁地将值强制转换为 bool 并避免数据截断编译器警告。

关于c++ - 检测是否设置了某个位(在编译时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5676026/

相关文章:

c++ - 如何在windows中使用柯南的SDL2

r - R 中的编译时操作

c++ - `#define` c++ 源代码中的一个非常大的数字

c++ - 是否可以测试 constexpr 函数是否在编译时进行评估?

c++ - 如何在 C++ 中为同一个类定义不同的类型

c++ - 调度算法的实现

c++ - 从视频中提取声音

c++ - 推送到线程池时如何返回 future

c++ - constexpr 数组和 std::initializer_list

c++ - if constexpr 似乎只有在两种情况都有效的情况下才有效