gpt4 book ai didi

c++ - 编译器如何为这个结构分配内存?

转载 作者:太空宇宙 更新时间:2023-11-04 15:21:36 25 4
gpt4 key购买 nike

<分区>

我在尝试使用命名空间和结构时遇到了问题。

C++

#include<iostream>
using namespace std;

namespace One
{
struct Data
{
int val;
char character;
};
}

namespace Two
{
struct Data
{
int val;
bool boolean;
};
}

void functionOne(void)
{
using namespace One;
cout << "functionOne()" << endl;
cout << "The size of struct Data : ";
cout << sizeof(Data) << endl;
}

void functionTwo(void)
{
using namespace Two;
cout << "functionTwo()" << endl;
cout << "The size of struct Data : ";
cout << sizeof(Data) << endl;
}

int main()
{
functionOne();
functionTwo();
}

Output
functionOne()
The size of struct Data : 8
functionTwo()
The size of struct Data : 8

当我将“命名空间二”的代码更改为以下内容时:

namespace Two
{
struct Data
{
char val;
bool boolean;
};
}

Output :

functionOne()
The size of struct Data : 8
functionTwo()
The size of struct Data : 2

我无法弄清楚编译器如何为结构分配内存。提前致谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com