Betrachten Sie die folgenden zwei using
Aussagen:Unterschied zwischen verwenden und verwenden = für Typen?
using ::space1::space2::MyType;
using MyType = ::space1::space2::MyType;
Es scheint, dass nach den using
, in beiden Richtungen ermöglichen es uns, die Verwendung MyType
direkt (ohne Qualifier).
Also, was ist der Unterschied zwischen den beiden oben genannten?
Nun, als Beispiel, kann der zweite Ausdruck verwendet werden, Aliasnamen wie 'using Foo = Bar' auch zu definieren, während der erste nicht. Wie auch immer, im ersten Beispiel exportieren Sie einen bestehenden Namen, in der zweiten erstellen Sie einen neuen Alias. –
skypjack
Die erste ist eine [unter Verwendung Erklärung] (http://en.cppreference.com/w/cpp/language/namespace#Using-declarations), während der zweite A [Namensraum alias] ist (http: //en.cppreference .com/w/cpp/Sprache/Namespace_alias). – crayzeewulf
@crayzeewulf wie der Titel der Frage erwähnt Typen, ich würde sagen, dass das zweite ist ein [Typ alias] (http://en.cppreference.com/w/cpp/language/type_alias) anstelle eines ns alias. – Christophe