2013-08-04 6 views
8

Ich werde eine neue Bibliothek erstellen, die genomische Annotationen in Diagramme umwandelt. Da C++ jedoch keine zentralisierte Bibliothekswebsite wie Perl besitzt, weiß ich, ob der Namespace mit einer bestehenden Bibliothek in Konflikt steht.Wie kann ich den Namespace meines neuen Projekts benennen?

+5

Warum sollte ich es nicht 'XnoDraw ::' nennen? –

+2

'xd' es klingt wie ein Internet-Meme' lol :: ',' ​​rly :: 'und' yolo :: ',' ​​XnoDraw :: 'ist meiner Meinung nach besser, das einzige, was zu bemerken ist, dass oft Namen sind patentiert oder geschützt durch das Gesetz, so achten Sie darauf, einen Namen zu wählen, der "frei" ist. – user2485710

+2

Um Wähler zu schließen: das ist weder subjektiv noch off-topic. Die Suche nach einem eindeutigen Namen für eine Bibliothek ist Teil des Bibliotheksdesigns, und auch hier gibt es Sprachprobleme. – Potatoswatter

Antwort

12

Nein, xd ist kein guter Name: es zu kurz ist. Es könnte ein guter Alias ​​in einem begrenzten Kontext sein, aber für eine Bibliothek, die von anderen verwendet wird, einen langen, beschreibenden Namen bereitstellen. Dann können Benutzer einen Alias ​​auswählen, der für ihr Projekt sinnvoll ist.

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

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

Sie können alles außer std verwenden.
Beachten Sie, dass C++ keine zusammengesetzten Namen für Namespaces zulässt.

Zum Beispiel:

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

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

Sie müssen 'Namespace' zweimal schreiben, um zwei Namespaces zu öffnen, aber die Menge der verfügbaren Namen ist in beiden Fällen identisch. – Potatoswatter

Verwandte Themen