C++ Tutorial

 using & typedef

using-Anweisung

Die using-Anweisung dient zum einen zum Definieren eines Synomyms für einen bestehenden Datentyp und zum anderen zum Einblenden eines Namensraums (Namensräume werden später noch detaillierter beschrieben).

Definition eines Synonyms

Um ein Synonym für einen bestehenden Datentyp zu definieren, folgen nach dem Schüsselwort using das Synonym, dann der Zuweisungsoperator und der Datentyp, für den das Synonym definiert wird.

using synonym = DTYPE;

So definieren die beiden nachfolgenden Anweisungen Synonyme für die Datentypen unsigned char und unsigned short.

using byte = unsigned char;
using word = unsigned short;

Wird ein Synoym innerhalb eines Blocks {...} definiert, ist das Synonym nur innerhalb des Blocks gültig.

Namensraum einblenden

Mithilfe der using-Anweisung

using namespace Nspace;

können alle Symbole eines Namensraums Nspace in den globalen Namensraum eingeblendet.

#include <iostream>

// Beispielhaft gesamten Namensraum std einblenden
using namespace std;

int main()
{
   // cout jetzt ohne Präfix std::
   cout << "Ohne std:: Präfix!!\n";
}

Das Beispiel soll nur die Wirkung der using-Anweisung aufzeigen! Es ist keine gute Idee, den gesamten Namensraum std einzublenden, da dadurch bei realen Anwendungen Namenskonflikte vorprogrammiert sind.

typedef Anweisung

Die typedef-Anweisung definiert ebenfalls ein Synonym für einen bestehenden Datentyp.

typedef DTYP synonym;

Das Äquivalent zu den beiden obigen using-Anweisungen sieht wie folgt aus:

typedef unsigned char byte;
typedef unsigend short word;

Von der Wirkung her gibt es keinen Unterschied zwischen der typedef-Anweisung und der entsprechenden using-Anweisung.