Partager via


aligned_storage, classe

Crée un type correctement aligné.

template<std::size_t Len, std::size_t Align>
    struct aligned_storage {
        typedef aligned-type type;
        };

template<size_t _Len,
size_t _Align = alignment_of<max_align_t>::value>
using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;

Paramètres

  • Len
    Taille de l'objet.

  • Align
    Alignement de l'objet.

Notes

Le typedef type imbriqué est un synonyme d'un type POD avec l'alignement Align et la taille Len. Align doit être égal à alignment_of<Ty1>::value pour un certain type Ty1.

Exemple

 

#include <type_traits> 
#include <iostream> 
 
typedef std::aligned_storage<sizeof (int), 
    std::alignment_of<double>::value>::type New_type; 
int main() 
    { 
    std::cout << "alignment_of<int> == " 
        << std::alignment_of<int>::value << std::endl; 
    std::cout << "aligned to double == " 
        << std::alignment_of<New_type>::value << std::endl; 
 
    return (0); 
    } 
 
  

Configuration requise

En-tête : <type_traits>

Espace de noms : std

Voir aussi

Référence

<type_traits>

alignment_of, classe

Autres ressources

<type_traits> membres