C++工作笔记-对结构体中位域的补坑说明
生活随笔
收集整理的這篇文章主要介紹了
C++工作笔记-对结构体中位域的补坑说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前關于位域的連接:
https://blog.csdn.net/qq78442761/article/details/80102666
?
對這篇博文進行補坑說明:
如下;
structbs? {? int a:8;? int b:2;? int c:6;? }data;說明:data為bs變量,其中位域a占8位,位域b占2位,位域c占6位。(一個字節8位)
?
下面是來至于某一個大佬的:
?
大致規則為:
1. 如果相鄰位域字段的類型相同,且其位寬之和小于類型的sizeof大小,則后面的字段將緊鄰前一個字段存儲,直到不能容納為止;
2. 如果相鄰位域字段的類型相同,但其位寬之和大于類型的sizeof大小,則后面的字段將從新的存儲單元開始,其偏移量為其類 型大小的整數倍;
3. 如果相鄰的位域字段的類型不同,則各編譯器的具體實現有差異,VC6采取不壓縮方式,Dev-C++采取壓縮方式;
4. 如果位域字段之間穿插著非位域字段,則不進行壓縮;
5. 整個結構體的總大小為最寬基本類型成員大小的整數倍。
原文地址如下:
https://blog.csdn.net/qnavy123/article/details/79753015
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的C++工作笔记-对结构体中位域的补坑说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ opengl GL_LINE_L
- 下一篇: C++设计模式-使用Qt框架模拟策略模式