2013-08-04 43 views
8

我将创建一个将基因组注释表示为图表的新库。但是,由于C++没有像Perl这样的集中式图书馆网站,我怎么知道名称空间是否与现有的名称空间冲突?如何命名我的新项目的命名空间?

+5

为什么不命名为'XnoDraw ::',那么? – 2013-08-04 09:23:08

+2

'xd'使它听起来像一个互联网meme'lol ::','rly ::'和'yolo ::','XnoDraw ::'在我看来更好,唯一需要注意的是通常时间名称法律已获得专利或受其保护,因此请务必选择一个“免费”的名称。 – user2485710

+2

关闭选民:这既不是主观的,也不是偏离主题。为图书馆寻找一个独特的名字是图书馆设计的一部分,这里也有语言使用问题。 – Potatoswatter

回答

12

没有,xd是不是一个好名字:它是太短了。在有限的情况下,它可能是一个很好的别名,但是对于一个将被其他人使用的图书馆,提供一个长的描述性名称。然后用户可以选择对他们的项目有意义的别名。

namespace my_company { 
namespace XnoDraw { 
// ... 
} // namespace XnoDraw 
} // namespace my_company 

// user code, not your code: 
namespace xd = my_company::XnoDraw; 
1

您可以使用任何东西,除了std
请注意,C++不允许命名空间的复合名称。

例如:

// Allowed 
namespace a 
{ 
    namespace b 
    { 
     int c; 
    } 
} 

// Not allowed 
namespace a::b 
{ 
    int c; 
} 
+3

您必须编写'namespace'两次才能打开两个名称空间,但可用名称的集合是相同的。 – Potatoswatter