2009-08-22 2 views

Antwort

2

Nein, ist es nicht. Das Schlüsselwort using wird verwendet, um ein oder alle Mitglieder aus einem Namespace in den globalen Namespace zu bringen, so dass auf sie zugegriffen werden kann, ohne den Namen des Namespaces jedes Mal anzugeben, wenn wir die Mitglieder verwenden.

In der using-Anweisung, die Sie angegeben haben, wird der Name des Namespace nicht angegeben. Selbst wenn Sie SomeClass dort mit einer Anweisung wie using SomeClass::f; ebenfalls zur Verfügung gestellt haben, wird es nicht funktionieren, weil SomeClass kein Namespace ist.

Hoffe, das hilft.

+3

Sie können Namen in jeden Namespace und nicht nur in den globalen Namen einfügen. Sie können »using« für die Elementfunktion verwenden, aber nur für eine abgeleitete Klasse. – avakar

2

Ich denke, dass using x; normalerweise innerhalb einer Klasse verwendet wird, um Methodennamen aus einer Basisklasse in den Gültigkeitsbereich zu bringen, um das Verbergen von Basisklassenmethoden zu vermeiden.

Sie denken vielleicht an using namespace name;, die nur für Namespaces gilt.

können Sie besser dran, mit einer einfachen Funktion in-line:

void f(){ SomeClass::f(); } 
+0

Ich schätze, ich werde deinen Inline-Trick verwenden. –

Verwandte Themen