微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在C ++中将布尔值用作位图?

如何解决有没有办法在C ++中将布尔值用作位图?

|                                                                                                                       

解决方法

您是否可能会想到诸如“ 0”之类的东西?   位集是一种特殊的容器类,旨在存储位(只有两个可能值的元素:0或1,
true
false
,...)。      该类非常类似于常规数组,但是针对空间分配进行了优化:每个元素仅占用一位(这比C ++中最小的元素类型(三)少八倍)。      每个元素(每个位)都可以单独访问:例如,对于名为
mybitset
的给定位集,表达式
mybitset[3]
访问其第四位,就像常规数组访问其元素一样。 更新资料 在您的代码示例中,您正在使用(或滥用)以下事实:布尔型实例实际上表示为至少1个字节的整数类型值,因此大小为8位(标准可能对此进行了更精确的定义)。 因此,在实践中,您可以对
bool
值进行位翻转,但我敢打赌,结果是不确定的。即使不是,它也是非常不寻常的,因此很难被他人理解和维护。因此,您最好将标准
int
用于此目的。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。