搞不懂的语法

donysk 2005-05-24 03:15:14
struct
{
unsigned int mm:15;
unsigned int yy:16;
unsigned int kk:1;
}
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
foochow 2005-05-24
  • 打赏
  • 举报
回复
位字段.允许指定占用特定位数的结构成员
pomelowu 2005-05-24
  • 打赏
  • 举报
回复
只有在结构体重才能如此定义,可以简单的看成申明的占用指定位的指定类型的变量。
useresu 2005-05-24
  • 打赏
  • 举报
回复
有一种被称为位域bit-field 的特殊的类数据成员它可以被声明用来存放特定数目的
位位域必须是有序数据类型它可以有符号也可以无符号例如
class File {
// ...
unsigned int modified : 1; // 位域(bit-field)
};
位域标识符后面跟有一个冒号然后是一个常量表达式指定位数例如modified 是一
个只有一位构成的位域
在类体中相邻定义的位域如果可能的话它们会被放在同一个整数的连续位中并以
此提供空间压缩例如在下列声明中5 个位域被存储在单个unsigned int 中它首先与位
域mode 相关联
typedef unsigned int Bit;
class File {
public:
Bit mode: 2;
Bit modified: 1;
Bit prot_owner: 3;
Bit prot_group: 3;
Bit prot_world: 3;
// ...
};
对于位域的访问方式与其他类数据成员相同
}
}
dongpy 2005-05-24
  • 打赏
  • 举报
回复
声明位域变量

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧