C++核心准则C.1:组织相关数据形成结构体或者类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++核心准则C.1:组织相关数据形成结构体或者类相关的知识,希望对你有一定的参考价值。


C.1: Organize related data into structures (​​struct​​​s or ​​class​​es)

C.1:组织相关数据形成结构体或者类

Reason(原因)

Ease of comprehension. If data is related (for fundamental reasons), that fact should be reflected in code.

降低理解难度。如果数据(由于根本的原因)具有相关性,那么这个事实应该反映到代码上。

译者注:面向对象的软件设计首先是要对实现的目标系统建模。在目标系统中是一个整体,模型中也应该一样。

Example(示例)

 

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

Note(注意)

A simple class without virtual functions implies no space or time overhead.

不包含虚函数的简单类不会产生空间和时间方面的额外代价。

Note(注意)

From a language perspective ​​class​​​ and ​​struct​​ differ only in the default visibility of their members.

从语言的观点来看,class和struct的区别只是默认状态下成员的可见性不同。

译者注:这只是编译层面的区别。

Enforcement(实施建议)

Probably impossible. Maybe a heuristic looking for data items used together is possible.

大概是不可能的。也许启发式地寻找一起使用的数据是可能的。

 

觉得本文有帮助?欢迎点赞并分享给更多的人!

阅读更多更新文章,请关注微信公众号【面向对象思考】

以上是关于C++核心准则C.1:组织相关数据形成结构体或者类的主要内容,如果未能解决你的问题,请参考以下文章

C++核心准则边译边学-文档结构

C++核心准则C.3:用类表现接口和实现的区别

C++核心准则T.24:使用标签类或特征区分只有语义不同的概念

Java核心类库—数据结构—数据结构的概述

C++核心准则C.8:存在非公有成员时,使用class而不是struct定义类

C++ 结构体与类指针