首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于基本类型中的位数,我应该使用什么类型?

对于基本类型中的位数,我应该使用什么类型?
EN

Stack Overflow用户
提问于 2018-12-11 06:55:09
回答 1查看 106关注 0票数 2

在64位操作系统上,C++中的Fundamental types大小在1到8(可能是16)之间。这意味着它们在内存中占用的位数不高于128位,即uint8_t中适合的位数。

现在,假设我写了一些函数,它需要这样的位数。例如,假设它是

代码语言:javascript
运行
复制
template <typename T>
inline void clear_bit(T& x, magic_type bit_index ) {
    static_assert(std::is_fundamental_v<T>, "Go away.");
    x = x & ~(T{1} << bit_index);
}

我想知道如何使用magic_type:它应该是一个uint8_t吗?或者它应该只是一个整数,因为我无论如何都需要检查有效性,即使对于uint8_t情况也是如此,而且int是一种更“自然”的数字类型?

为了让这个问题更少涉及你的个人观点:通常被认为是更地道的选择之一吗?如果不是,你能为这两个选择找到足够好的理由吗?或者建议第三个?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53714929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档