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 T
ou à 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