“之间的区别是什么?”;“类”;及;结构;? 编写C++代码时,使用类< /代码>和结构> > < /P>有什么不同? class Foo final { };

“之间的区别是什么?”;“类”;及;结构;? 编写C++代码时,使用类< /代码>和结构> > < /P>有什么不同? class Foo final { };,c++,class,struct,C++,Class,Struct,vs 什么时候我应该选择一个而不是另一个?这仅仅是编程/编码风格的选择吗?astruct简单地定义了一块存储器的布局 类是一个动态分配的“东西”,它可以有方法。。。它可以做一些事情。你的书、教程或课堂上都告诉过你什么?@Someprogrammerdude我在书中找不到任何东西可以解释为什么我想使用一个而不是另一个;看起来他们几乎一模一样。那是因为他们几乎一模一样。struct和class之间的唯一区别是默认可见性。默认情况下,struct是public,而类是private。选择哪一个在很大程

vs


什么时候我应该选择一个而不是另一个?这仅仅是编程/编码风格的选择吗?

a
struct
简单地定义了一块存储器的布局


类是一个动态分配的“东西”,它可以有方法。。。它可以做一些事情。

你的书、教程或课堂上都告诉过你什么?@Someprogrammerdude我在书中找不到任何东西可以解释为什么我想使用一个而不是另一个;看起来他们几乎一模一样。那是因为他们几乎一模一样。
struct
class
之间的唯一区别是默认可见性。默认情况下,
struct
是public,而类是private。选择哪一个在很大程度上取决于这一点。除非您正在制作一个与C兼容的接口,并且需要头文件和结构与C兼容,在这种情况下,您需要使用
struct
(和POD结构,仅对成员变量使用非C++类型,不使用成员函数)。一个常见的约定是,当您不需要公共非静态成员变量以外的任何变量时,使用
struct
。或者在为模板编写小型助手类型时,
public
会浪费空间。当您从
结构继承时,默认为
public
继承;当您从
类继承时,默认为
private
继承。很抱歉,这完全不准确。您可以在
结构中拥有方法,并且可以静态或动态分配这两种方法。大错特错。。。
struct Bar final { };