Type alias (seit C++11)
Aus cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Typ-Aliasnamen ähneln typedefs, haben jedoch den Vorteil, mit Schablonen .
Original:
Type aliases are similar to typedefs, however, have the advantage of working with templates.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Syntax
using identifier = type_name; | |||||||||
[Bearbeiten] Beispiele
using flags = std::ios_base::fmtflags; using func = void (*) (int,int); // typedef std::ios_base::fmtflags flags; // typedef void (*func)(int, int); template<class T> using ptr = T*; ptr<int> x; template<class T> using vec = std::vector<T>; vec<float> w; // type alias used to hide some template parameter template<class CharT> using mystring = std::basic_string<CharT,std::char_traits<CharT>>; mystring<char> str; // type alias used to simplify the syntax of std::enable_if template< class Condition > using EnableIf = Invoke<std::enable_if<Condition::value>>; template <typename T, typename = EnableIf<std::is_polymorphic<T>>> int f(T t);