Ich würde gerne so etwas bauen:
%Vor%Dies ist natürlich nicht möglich, da Sie keine Namensräume erstellen können. Stattdessen könnte ich eine Struktur anstelle eines Namensraums verwenden, aber dann kann ich die Namensraumfunktionen nicht über mehrere Dateien verteilen.
Gibt es eine Lösung für ein solches Problem?
PS: Ich weiß, dass ich die Klassen anpassen könnte, aber dann müsste ich angeben, welchen Vektortyp ich verwenden möchte, wenn ich eine neue Klasse erstelle.
Folgen Sie Ihrem Kommentar:
Anstatt zu schreiben
using namespace myNamespace<int>;
Verwenden Sie einfach templated Klassen und schreiben Sie stattdessen (oder welche Variante):
%Vor%Ich denke, es ist besser, explizit anzugeben, welche Typen verwendet werden, anstatt etwas wie eine bestimmte Instanz eines Namespaces zu importieren.
Können Sie das Problem genauer beschreiben, das Sie dazu bringt, zu denken, dass Vorlagen-Namespaces nützlich wären?
Und denken Sie daran, dass Sie immer eine make_myClass1
free-Funktion schreiben können, um den Schablonentyp für Sie abzuleiten.
Sie können das nicht, aber Sie können verschiedene Namespaces und typedefs angeben (nicht, dass ich es befürworte).
%Vor%Tags und Links c++ namespaces templates