我需要以下层次结构的建议,我想在C ++程序中表示。
有一个抽象类uri
以及派生自它的类url
和urn
。
我想有一个包含uri概念源代码的目录。还应该调用名称空间.. uri
。 :)
所以,我正在回答我的问题。 当命名空间已经被称为“uri”时,我如何将抽象类命名为“uri”呢? 在C ++中,这个问题通常有哪些命名约定? base,uri_base,basic_uri或你如何命名?
我的第二个问题是。在用户厌倦了命名空间之前,您有多久可以嵌套命名空间?例如,我有@ authority
,query
之类的uri部分等等。
创建一个新的命名空间(例如:parts
)并将这些类的源代码放在一个新的子目录中是否明智?或者这只是“过度设计”?
谢谢和问候
reeaal
答案 0 :(得分:3)
命名空间不是基于,也不应该基于保存文件的实际目录。 它们的目的是将相关的类/结构/常量组合在一起并减少歧义。
将类命名为与其包含的命名空间(例如uri :: uri)相同没有问题。应该与将使用这些类的程序员一起选择名称。
答案 1 :(得分:1)
当命名空间已经被称为“uri”时,我如何将抽象类命名为“uri”呢?
如果需要,您可以简单地将其命名为“uri”,您可以使用与封闭命名空间同名的标识符,没有任何问题。
答案 2 :(得分:0)
您滥用名称空间。它们主要用于防止库之间的名称冲突 - 通常,每个库应该有一个命名空间。