问题描述
比如
uint8 bPendingNetUpdate:1;
取代bool型变量。
实际上这个东西真地只占一个bit吗?
问题解答
回答1:是占一个bit,不过结构体为了内存对齐会有padding,所以仅仅一个位域其实并不节省内存。。紧凑一点就会有节省内存的效果了,比如连着好几个这种类型的标志变量,肯定比bool节省内存

问题描述
比如
uint8 bPendingNetUpdate:1;
取代bool型变量。
实际上这个东西真地只占一个bit吗?
问题解答
回答1:是占一个bit,不过结构体为了内存对齐会有padding,所以仅仅一个位域其实并不节省内存。。紧凑一点就会有节省内存的效果了,比如连着好几个这种类型的标志变量,肯定比bool节省内存
相关文章:1. c++ - 在main函数执行之前段错误,gdb无法调试,估计和g++编译参数相关。2. CentOS7 启动docker.service失败3. c++ - 数组声明在main函数中运行时栈溢出?4. c++ - 二维数组指针double **&field经过这个转换 (void*&) field 是什么意思?5. c++ - extern int a=1为什么在函数内部报错?6. 1LL在C++中是什么意思?7. c++ 公有继承中,私有成员只能通过基类接口访问,如果我把派生类强制转换为基类,是否能访问其基类私有成员8. c++ - 为何这段数组比较的函数返回值不变?9. docker hub 的 URL 设计是什么意思?10. c++ - windows操作系统的有些疑惑。

网公网安备:皖ICP备2020019022号-8 Copyright ¢ 2020-2025 Powered by V1.8 All Rights Reserved 技术支持:乐呵呵网
声明:本站所有资源以学习为主