C++工作笔记-对结构体的进一步认识
程序员文章站
2022-07-13 22:02:27
...
最近接触了层次库,里面生成的结构体,有个很奇怪的形式,如下面代码所示:
#include <iostream>
using namespace std;
typedef struct MyStructA
{
int m_a : 1;
int m_b : 1;
int m_c : 2;
int m_e = 100;
}MyStructA;
typedef struct MyStructB
{
int m_a : 1;
}MyStructB;
typedef struct MyStructC{
}MyStructC;
typedef struct MyStructD{
bool m_a;
}MyStructD;
typedef struct MyStructE{
long long m_a : 1;
}MyStrucctE;
void main(){
MyStructA mystructA;
MyStructB mystructB;
MyStructC mystructC;
MyStructD mystructD;
MyStructE mystructE;
cout << "mystructA sizeof:" << sizeof(mystructA) << endl;
cout << "mystructB sizeof:" << sizeof(mystructB) << endl;
cout << "mystructC sizeof:" << sizeof(mystructC) << endl;
cout << "mystructD sizeof:" << sizeof(mystructD) << endl;
cout << "mystructE sizeof:" << sizeof(mystructE) << endl;
getchar();
}
运行截图如下:
这里只要了解
typedef struct MyStructA
{
int m_a : 1;
int m_b : 1;
int m_c : 2;
int m_e = 100;
}MyStructA;
冒号后面是宽度,这样把4个字节的int分成了1,1,2的形式
上一篇: java配置文件路径
推荐阅读
-
C++工作笔记-对二级指针的进一步理解(获取调用者的地址)
-
Qt工作笔记-对QImage的进一步认识(关于α通道)
-
Qt工作笔记-对QXmlStreamReader的进一步认识(读取XML)
-
Qt工作笔记-对QObject::connect函数进一步认识(重载)
-
C++工作笔记-对结构体的进一步认识
-
Qt工作笔记-qmake和uic(对Qt底层的进一步认识)
-
Qt|C++工作笔记-对虚函数的进一步认识(关键是Qt中如何正确使用,达到想要的效果)
-
Qt工作笔记-对QXmlStreamWriter进一步的认识(写复杂的XML文件)
-
C++工作笔记-对友元函数的进一步理解
-
C语言工作笔记-对函数指针的进一步认识(与回调函数结合使用,并且对比C++的回调)