Lib -> Namespace



  • Hallo!

    Eine Library soll in einen Namespace "MYNAMESPACE" gestellt werden.

    Ich könnte natürlich alle *.h-Files mit "namespace MYNAMESPACE{...}" einwickeln
    und alle *.cpp-Files mit "using namespace MYNAMESPACE" versehen. Das Problem
    ist, daß ich dann noch immer alle Typen in den *.h-Files mit MYNAMESPACE::
    prefixen muß. Läßt sich das irgendwie vereinfachen?

    "using MYNAMESPACE" in den *.h-Files zu verwenden ist natürlich nicht Sinn der
    Sache, weil das dann ja von der Client-Software ebenfalls ausgeführt werden
    würde.



  • Wenn du dich innerhalb des Namespaces befindest (wie halt in den Header Dateien), musst du diesen doch nicht noch mal explizit angeben?



  • Wenn ich richtig verstehe, worauf du hinaus willst, kannst du die .cpp-Dateien genau wie die Header in namespace MYNAMESPACE {} einwickeln.



  • cooky451 schrieb:

    Wenn du dich innerhalb des Namespaces befindest (wie halt in den Header Dateien), musst du diesen doch nicht noch mal explizit angeben?

    Danke, das war hilfreich. Mit einem kleinen Beispiel konnte ich das jetzt
    überprüfen. Das Problem war, daß ein *.h-File ein anderes des gleichen
    Namespace inkludiert und ich die #include-Zeile innerhalb von namespace
    MYNAMESPACE{..} hatte.



  • nsp schrieb:

    und ich die #include-Zeile innerhalb von namespace
    MYNAMESPACE{..} hatte.

    #includes sollten immer auf globaler Ebene stattfinden, nie in namespaces.


Anmelden zum Antworten