d的位域啊

原文
目前在预览开关后面,C位域不好,仅有好处:让编译器帮助打包私有的,仅供内部使用的结构到更紧凑的内存布局中.不保证公共abi.

D位域可能很好

假想的:

ulong fields {
    msb : 1,
    _reserved: 62,
    lsb: 1,
};

分解现有字段按定义来取结构中包含位字段.
应该允许ubyte a = fields.msb;,实际是

(fields >> 63) & 0x1

必须赋值括号内的所有位;总数必须加起来为type.sizeof*8.要明确列举保存位.顺序要严格定义为从上到下从msblsb.
添加新的反射特征来取这些字段.也许可用检查is(field==__bits)等等来识别它,然后调用allMembers来取,并从那取位计数,或可能是位内部成员按位报告的sizeof.
__traits(bitmask)这样的访问.大括号内的某些类型充当访问器返回类型.
位域当作分解现有域.
然后根据现有字段定义现有的反射,字段布局等,并提供新函数来取位的详细信息.

posted @   zjh6  阅读(16)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示