Espaces de noms
Variantes

Type alias (depuis C++11)

De cppreference.com

<metanoindex/>

 
 
Langage C++
Sujets généraux
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 
Alias ​​de type sont similaires à typedefs, cependant, ont l'avantage de travailler avec des modèles .
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.

Syntaxe

using identifier = type_name;

Exemples

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