21 July 2022

C++ 核心指南目录

C.1: Organize related data into structures (structs or classes)

理由

更容易理解。相关的数据,也要体现在代码中。

例子

// BAD: unnecessary implicit relationships
void draw(int x, int y, int x2, int y2);
// better
void draw(Point from, Point to);

注意

没有虚函数的简单类,不会导致多余的空间和时间开销。

注意

从开发语言角度来看, classstruct 只是成员默认的可见性不一样。 class 的成员默认为 private ,而 struct 的成员默认是 public

强化

比较难。但是可以考虑那些放在一起用的数据,是否属于同一个结构?