cpp/types/aligned storage

Provides the nested type , which is a trivial standard-layout type suitable for use as uninitialized storage for any object whose size is at most and whose alignment requirement is a divisor of.

The default value of is the most stringent (the largest) alignment requirement for any object whose size is at most. If the default value is not used, must be the value of  for some type, or the behavior is undefined.

The behavior is undefined if.

It is implementation-defined whether any extended alignment is supported.

Possible implementation
Except for default argument, aligned_storage is expressible in terms of alignas: