typename

Aus cppreference.com
< cpp
Wechseln zu: Navigation, Suche


[Bearbeiten] Type Parameter für Templates definieren

In template argument, typename kann synonym mit class genutzt werden um Type parameter zu bestimmen. Auch wenn es für den Compiler keinen unterschied macht, so empfiehlt Alexandrescu class zu verwenden, wenn das Template argument eine class oder struct ist, und typename für andere type-arten. Dies dient ausschliesslich der lesbarkeit des quelltextes.

[Bearbeiten] Disambiguating Dependent Names

Das schlüsselwort typename wird ausserdem genutzt um einen abhängigen namen als template definition, welches einem Typ angehört, zu bestimmen.

struct Foo {
  typedef int Type;
};
 
template<class T>
struct Bar {
  typedef typename T::Type BarType; // In einem typedef
  void baz() {
     typename T::Type instance;     // In einer deklarierung
  }
};
 
typedef Bar<Foo> FooBar;


Verwandte Themen: class, template

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge
In anderen Sprachen