结构的大小和等效类的大小是否保证相等?
答案 0 :(得分:1)
假设您正在询问CPP。 结构的成员默认是公共的。 在课堂上,他们默认为私人。
struct和class在功能上是等价的。 结构通常用作开放数据容器。
类和结构的大小趋于相同,因为其数据成员的顺序顺序相同,并且您没有更改默认成员对齐。
答案 1 :(得分:1)
基本上struct
和class
在C ++中是相同的,有两点不同:
public
,而在课程中他们是private
。当程序员提供时,访问修饰符仍然适用。public
。在派生类时,默认访问权限为private
。一般来说,程序员假设在struct
中所有成员都是公开的并且可以自由修改,而在class
中,他们都将是私有的,并且getter / setter将在适当的时候出现。这仅仅是惯例,而不是由语言强制执行。
由于除了默认访问之外,编译器对它们的处理方式相同,因此保证大小相同。这两个关键字在历史上都受C ++支持的主要原因,即使稍微冗余,也是与C只有struct
存在的向后兼容性。