首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于u 32::const中的位,有什么可供选择的?

对于u 32::const中的位,有什么可供选择的?
EN

Stack Overflow用户
提问于 2016-03-29 13:15:04
回答 1查看 206关注 0票数 5

我有一些代码可以这样做:

代码语言:javascript
复制
const MY_CRAZY_CONSTANT: u32 = 1 << (u32::BITS - 1); 

我试着使用“锈蚀夜”(2016-03-29)编译它,但是它失败了:

代码语言:javascript
复制
error: no associated item named `BITS` found for type `u32` in the current scope

我看到它被否决了,并且我看到有一个RFC (尺寸,对齐,偏移,591型)在谈论添加一个大号关键字等等,但这是关闭的:延迟。

我想,这种反对已经在夜间频道取得了成果,因为它已经被删除,而且我知道我可以做以下工作,但要做到这一点,我需要删除我的const,而我宁愿不这样做。

代码语言:javascript
复制
mem::size_of::<u32>() * 8

那么,现在的情况是我必须删除我的const并重新构造我的代码,还是有其他方法来实现我原来的目标呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 13:30:08

一般的答案是定义你自己的常数:

代码语言:javascript
复制
const U32_BITS: usize = 32;

对于usize::BITSisize::BITS的特殊情况,您需要使用条件编译。

代码语言:javascript
复制
#[cfg(target_pointer_width = "32")]
const USIZE_BITS: usize = 32;
#[cfg(target_pointer_width = "64")]
const USIZE_BITS: usize = 64;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36285396

复制
相关文章

相似问题

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