本原创文章属于《Linux大棚》博客。
博客地址为http://roclinux.cn。
文章作者为roc wu。
==
【规范】
当一个对象只需要包含数据时,请使用“结构体”;其他情况请使用“类”。
【详细解释】
在C++中,struct和class这两个关键字的行为几乎是一样的。所以我们需要给他们赋予一定的语义,以便在不同的场合选择不同的关键字。
struct通常被用在纯数据的对象中,其中也可以包含一些常量。
除了可以设置成员的值和访问数据成员以外,struct不应该再提供额外的功能。
对于设置成员的值,struct是通过直接给成员赋值的方式来实现的;对于访问数据成员,struct也是直接去访问相应的域。struct并没有提供一些相应的方法来实现上述功能。
struct即使提供一些方法,也是很简单的,无非是构造函数、析构函数、Initialize()、Reset()和Validate()。
因此,如果你需要更丰富的功能,就应该选择class。
当你出现选择恐惧症时,直接用class是不会有错的。
最后,要提醒的一点是,结构体和类中成员的命名规范是有一些区别的,可以参考之前的系列文章来了解。
谢谢!