gpt4 book ai didi

c++ - 数据结构对齐:char数组和std::string数组为什么不同

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

<分区>

已知sizeof(std::string)为8,sizeof(int)为4。

class Test1
{
int i; // 4
std::string str; // 8
};

sizeof(Test1) 是 16,因为 8 = N1 * 4 和 16 = N2 * 8。(N1 和 N2 是自然数)

但是,如果我将 std::string 替换为 char [8],如下所示:

class Test2
{
int i; // 4
char ch[8]; // 8
};

我不知道为什么 sizeof(Test2) 给我 12。

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