相关疑难解决方法(0)

为什么structof sizeof不等于每个成员的sizeof总和?

为什么sizeof操作员返回的结构尺寸大于结构成员的总尺寸?

c c++ struct c++-faq sizeof

644
推荐指数
11
解决办法
18万
查看次数

结构填料和包装

考虑:

struct mystruct_A
{
   char a;
   int b;
   char c;
} x;

struct mystruct_B
{
   int b;
   char a;
} y;
Run Code Online (Sandbox Code Playgroud)

结构的尺寸分别为12和8.

这些结构是填充还是包装?

什么时候进行填充或包装?

c struct structure packing padding

189
推荐指数
6
解决办法
25万
查看次数

__int32 与 int 与 int32_t 之间的区别(再次)

网络上的答案()只讲述了故事的一部分,并省略了一些我希望您帮助我澄清的细节:

  • 根据 C++ 标准,int 必须 >= 32 位。
  • int默认情况下,不同的编译器(实现)可以分配不同数量的位。所以Compiler A可以int在我声明整数时分配 50 位(例如)。
  • 此外,不同的编译器可能/可能不使用位填充进行优化
  • __int32(Microsoft 特定) 并int32_t在这里解决问题,并且:

我的哪个猜测是正确的?很抱歉再次提出旧问题,但我实际上对所有这些分配功能感到困惑。

在此先感谢您的时间。

c++

1
推荐指数
1
解决办法
437
查看次数

标签 统计

c ×2

c++ ×2

struct ×2

c++-faq ×1

packing ×1

padding ×1

sizeof ×1

structure ×1