namespaces in .cpp dateien bekanntgeben



  • kurz und knapp:

    // Ufo.hpp
    namespace Space
    {
        class UFO
        {
         //...
        };
    }
    
    // Ufo.cpp
    using namespace Space; // ?
    


  • Wennde die .hpp in die .cpp includes sehe ich nicht wieso das probleme geben sollte.


  • Mod

    Die Frage ist zu knapp gestellt. Ein paar Wörter wären hilfreich.



  • SeppJ schrieb:

    Die Frage ist zu knapp gestellt. Ein paar Wörter wären hilfreich.

    ist es schlechter stil den namespace in der implementierungsdatei (.cpp) der klasse bekanntzugeben?


  • Mod

    (E.T.)(()) schrieb:

    SeppJ schrieb:

    Die Frage ist zu knapp gestellt. Ein paar Wörter wären hilfreich.

    ist es schlechter stil den namespace in der implementierungsdatei (.cpp) der klasse bekanntzugeben?

    Nein, warum sollte es? Die Implementierungsdatei sollte sich im Idealfall niemals jemand angucke brauchen und was du dort machst hat keinerlei Auswirkungen auf den Rest des Programms.

    Auf die Frage wäre ich aber echt nie gekommen.



  • nja in sofern als das man sagt man soll nicht using namespace std; o.ä. verwenden, da dies zu komplikationen führen kann (bereichsüberschneidungen), aber das liegt ja nur daran, das das standartbibliotheken sind. Wenn man sich selber namespaces ausdenkt sollten bereichsüberschneidungen eigentlich ausgeschlossen sein.


  • Mod

    Jud4s schrieb:

    nja in sofern als das man sagt man soll nicht using namespace std; o.ä. verwenden, da dies zu komplikationen führen kann (bereichsüberschneidungen), aber das liegt ja nur daran, das das standartbibliotheken sind. Wenn man sich selber namespaces ausdenkt sollten bereichsüberschneidungen eigentlich ausgeschlossen sein.

    So funktioniert das nicht. Man soll using namespace nicht in Headern benutzen, weil das dann automatisch für alle Dateien gilt die den Header einbinden. In der Implementierung kann man machen was man will. using namespace, globale Variablen, gotos. Das alles juckt den Rest der Welt nicht im geringsten, weil jede Implementierungsdatei einzeln für sich compiliert wird.


Log in to reply