也许它听起来很愚蠢,但我不知道什么是最好的方式来处理这个问题:面向对象编程 - 作为成员的变量或仅作为全局变量的头部变量?
我有一个类,例如提供对某个COM端口的访问。要使用这个,你必须建立一个包含信息的缓冲区。这个缓冲区是作为一个typedef实现的。现在这个typedef位于类的头文件中,但不在类中作为成员。不同的是你可以访问这个缓冲区的方式(包含头文件)。 作为一类成员:
CMyClass::MyBuffer MyBuf;
或者仅仅位于头一个全球性的:
MyBuffer MyBuf;
我有几个数据我不知道往哪里放,这样的行为一些静态瓦尔作为缓冲区中的唯一标识符。所以我们在这里讨论静态和typedefs。
从技术上讲,他们属于这个班级,因为没有这些,你就无法使用它。但使用类名和它的范围操作符来访问这些类型的时间要长得多。
这个问题怎么解决?
另一方面,名称空间也用于逻辑分组类。 – Jon
命名空间,没错,没想到...... – binaryguy