In einer C++ Implementierung-Datei, habe ich die Möglichkeit, so etwas wie zu schreiben:Header-Dateien, ohne explizit Namespace Schreiben
name::space::ClassName::someFunction(int param) {
// impl
}
statt
namespace name {
namespace space {
ClassName::someFunction(int param) {
// impl
}
}
}
, die ich sehr bequem und besser lesbar zu finden. Kann das irgendwie auch in Header-Dateien verwendet werden? Etwas wie folgt aus:
class name::space::ClassName {
// declarations
};
statt
namespace name {
namespace space {
class ClassName {
// declarations
};
}
}
Wenn so etwas wie dies möglich ist, dann unter welchen Bedingungen? Ich könnte mir vorstellen, dass man müsste
uns darauf, die Namespace deklarieren
uns darauf, die Klassen im Namensraum wie folgt erklären:
namespace name {
namespace space {
class ClassName;
}
}
bevor diese in der Lage zu verwenden:
class name::space::ClassName {
// declarations
};
in einer Header-Datei .
Aber irgendwie kann ich das nicht zur Arbeit 1]. Ist es überhaupt möglich? Was mich stört ist, dass ich bei verschachtelten Namespaces 2 Tabulatoren einrücken muss, bis ich meine Klasse deklarieren kann. Ich möchte diesen Platz in meinen Header-Dateien verwenden, aber ich möchte die Tabs nicht weglassen, da dies gegen die "alles in geschweiften Klammern muss einmal Tabbed" -Rule sein würde (ich weiß nicht, ob es da ist ein tatsächlicher Name für das. Wenn es, Entschuldigung meine Ignoranz, ich kenne keine: S
1] Das Problem, das ich konfrontiert wurde, war nicht mit der Frage verbunden.Der Ansatz funktioniert tatsächlich, aber es hat Nachteile (siehe akzeptierte Antwort).
'mit verschachtelten Namespaces Ich habe einrücken 2 tabs' Sie nicht wirklich __have__ zu, es geht um Ihre Codierung Konvention. Zum Beispiel fügen wir keinen zusätzlichen Einzug für verschachtelte Namespaces hinzu, wo ich arbeite. – SingerOfTheFall
eine Mischform dieser tabbing Regel ist 'Namespace-Name verwenden {Namensraum-Raum {' in einer Zeile und den Rest Einzug mit nur einem Tab, dann endet mit '}}' – stijn
@SingerOfTheFall Welcher (= Einrücken nicht für Namespaces) I halte eine sehr vernünftige Sache für möglich. – Angew