◐ Shell
clean mode source ↗

Type alias (dal C++11) - cppreference.com

Da cppreference.com.

Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.

La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui.

Click here for the English version of this page

<metanoindex/>

Alias ​​tipo sono simili a typedef, tuttavia, hanno il vantaggio di lavorare con modelli.

Original:

Type aliases are similar to typedef, 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.

Sintassi

using identifier = type_name;

Esempi

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);