cpp/memory/construct at

Creates a object initialized with arguments  at given address. Specialization of this function template participates in overload resolution only if is well-formed in an unevaluated context.

Equivalent to

except that may be used in evaluation of constant expressions.

When is called in the evaluation of some constant expression, the argument  must point to either storage obtained by  or an object whose lifetime began within the evaluation of.