0

我需要以下层次结构的建议,我想在 C++ 程序中表示。

有一个抽象类uri和从它派生的url类。urn我想要一个包含 uri 概念源代码的目录。和一个应该被称为 .. 的命名空间uri。:)

所以,我来回答我的问题。当命名空间已经被称为“uri”时,我将如何命名抽象类“uri”呢?在 C++ 中这个问题通常采用什么命名约定?base、uri_base、basic_uri 或者你会如何命名它?

我的第二个问题是。在用户感到乏味之前,您可以多久嵌套一次命名空间?例如,我有 uri 部分authorityquery等等。创建一个新的命名空间(例如parts:)并将这些类的源代码放在一个新的子目录中是否明智?还是这只是“过度设计”?

谢谢并恭祝安康

真实的

4

3 回答 3

3

命名空间不是基于也不应该基于保存文件的实际目录。它们的目的是将相关的类/结构/常量组合在一起并减少歧义。

将一个类命名为与其包含的命名空间相同的名称(例如 uri::uri)是没有问题的。名称应该与将使用类的程序员一起选择。

于 2011-06-05T13:42:20.527 回答
1

当命名空间已经被称为“uri”时,我将如何命名抽象类“uri”呢?

如果你愿意,你可以简单地将它命名为“uri”,你可以有一个与封闭命名空间同名的标识符,没有问题。

于 2011-06-05T13:39:00.867 回答
0

您正在滥用名称空间。它们本质上是为了防止库之间的名称冲突——通常,每个库应该有一个命名空间。

于 2011-06-05T13:51:34.923 回答