0

我对结构中当前的打包方案有点困惑。举这个例子

#include <iostream>

using namespace std;

struct Node
{
    char        c;
    double      d;
    int         s;
} Node;



int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    cout << sizeof(char) << endl;
    cout << sizeof(double) << endl;
    cout << sizeof(int) << endl;
    cout << sizeof(Node) << endl;
    return 0;
}

这是输出:

Hello, World!
1
8
4
24
Program ended with exit code: 0

我知道有一定的包装方案。但是假设大小为 8。这应该是 1+8 +4 + 填充不应该是 16,但是它被报告为 24。有没有办法可以找出包装的默认值?我目前在不太旧的mac上使用xcode。

4

0 回答 0