gpt4 book ai didi

c++ - 什么是空类的大小以及 C++ 中 union 、结构和类之间的区别?

转载 作者:行者123 更新时间:2023-11-30 03:05:13 25 4
gpt4 key购买 nike

什么是空类的大小以及 C++ 中 union 、结构和类之间的区别?

我的想法:

如果它们中没有静态成员,它们应该相同,因为所有成员都分配在堆栈上。

如果都为空,则相同。

如果它们有静态成员,则取决于成员在其中的相对位置。

对吗?

谢谢

最佳答案

class == struct 唯一的区别是在结构中,默认情况下所有成员,即 ivars 和方法都是公开的。

静态成员,即变量或方法,在它们不属于特定实例的意义上不属于类/结构的一部分。所以 sizeof 不会包括它们。

union 不是类也不是结构,Union 用于将结构映射到特定的内存布局。

要获得大小,只需对一个实例变量执行 sizeof(),您就会看到。

关于c++ - 什么是空类的大小以及 C++ 中 union 、结构和类之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920892/

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