Annex F (informative) Core undefined behavior [ub]

F.2 [basic]: Basics [ub.basic]

F.2.3[ub:basic.align.object.alignment]
Specified in: [basic.align]

All instances of a type must be created in storage that meets the alignment requirement of that type.
[Example 1: struct alignas(4) S {}; void make_misaligned() { alignas(S) char s[sizeof(S) + 1]; new (&s+1) S(); // undefined behavior, &s+1 will yield a pointer to // a char which is 1 byte away from an address with // an alignment of 4 and so cannot have an alignment of 4 } — end example]