What mechanism is involved, if when returning types, that are constructible from initializer lists, I don\'t specify the type I am returning, as in:
std::arr
There are no performance penalties involved. The return value is constructed equivalent to
std::array x = { 1, 2, 3 };
There is not even a single copy or move of an std::array instance involved.
std::array