suggest change


All types in C++ have an alignment. This is a restriction on the memory address that objects of that type can be created within. A memory address is valid for an object’s creation if dividing that address by the object’s alignment is a whole number.

Type alignments are always a power of two (including 1).


The standard guarantees the following:

Note that while alignment exists in C++03, it was not until C++11 that it became possible to query alignment (using alignof) and control alignment (using alignas).

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents