C++中层次结构的命名
Naming of hierarchical structures in C++
我需要以下层次结构的建议,我想在C++程序中表示。
存在一个抽象类uri
以及从其派生的类url
和urn
。我想要一个包含uri概念源代码的目录。和一个应该被调用的命名空间。。uri
.:)
所以,我来回答我的问题。当名称空间已经被称为"uri"时,我该如何命名抽象类"uri"?在C++中,这个问题通常采用什么命名约定?base,uri_base,basic_uri或者你怎么命名它?
我的第二个问题是,在用户感到乏味之前,多久可以嵌套一次名称空间?例如,我有像authority
、query
这样的uri部件。。创建一个新的名称空间(例如:parts
)并将此类的源代码放在一个新子目录中是否明智?或者这只是被"过度设计"了?
感谢并问候
reeaal
命名空间不是基于也不应该基于保存文件的实际目录。它们的目的是将相关的类/结构/常量组合在一起,减少歧义。
将类命名为与其包含的命名空间(如uri::uri)相同是没有问题的。选择名称时应考虑到将使用类的程序员。
当名称空间已经被称为"uri"时,我该如何命名抽象类"uri"?
如果需要,您可以简单地将其命名为"uri",也可以使用与封闭命名空间同名的标识符,这不会有任何问题。
您正在滥用名称空间。它们本质上是为了防止库之间的名称冲突——通常,每个库应该有一个名称空间。
相关文章:
- 如何重构类层次结构以避免菱形问题
- C++ 中模板化类型的类层次结构
- 为什么不同类型层次结构的指针之间的dynamic_cast定义得很好?
- 继承层次结构并将元素添加到向量
- C++ 类层次结构中的"对齐"是什么意思?
- 相同的层次结构,访问基类的受保护成员时的行为不同
- 类层次结构中的运算符重载
- 如何在层次结构中实现运算符使用?
- 反向层次结构中的可变参数模板参数
- 如何在继承层次结构中调用具有默认参数的构造函数?
- C++ 提升 - 包含类层次结构对象的类的序列化
- 在C++继承层次结构时提取实现者
- 在C++中将类实例添加到对象层次结构中的问题
- 确定大层次结构中基本指针的实际类型,无需dynamic_cast
- 在继承层次结构中复制和移动
- 模板冲突的类型-但类型应该是相同的cfr类层次结构
- 删除父/子窗口层次结构的最佳方法
- 是否可以使一个类成为两个不同层次结构的子类?
- 我们可以在层次结构中创建多个纯虚拟接口及其实现而不会代码爆炸吗?
- 多重继承:跳过'virtual'关键字并拒绝菱形层次结构的使用?