POD 类和非 POD 类应分别使用 struct 和 class 关键字定义
5.1.21 ID_unsuitableStructTag
struct 和 class 关键字应分别对应与 C 兼容的类和具有 C++ 特性的类。
“POD 类”与 C 兼容可配合 C 接口使用,非 POD 类具有 C++ 特性,不应与 C 接口一同使用,用 struct 和 class 关键字显式区分这两种类有助于提高可读性和可维护性。
示例:
struct A { // Compliant
int x, y;
};
struct B { // Non-compliant
B();
~B();
private:
int x, y;
};