Partager via


aligned_storage, classe

Crée un type correctement aligné.

Syntaxe

template <std::size_t Len, std::size_t Align>
struct aligned_storage;

template <std::size_t Len, std::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.

Aligner
Alignement de l'objet.

Notes

Le typedef type de membre de modèle est un synonyme d’un type POD avec alignement Align et taille Len. L’alignement doit être égal à alignment_of<T>::value un type Tou à l’alignement par défaut.

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);
    }
alignment_of<int> == 4
aligned to double == 8

Spécifications

Header :<type_traits>

Espace de noms : std

Voir aussi

<type_traits>
alignment_of, classe