Konvertierung von builtin-Array zu std::array ohne Overhead
-
Hoi!

template<typename CharT, std::size_t Size> std::array<CharT, Size> const& to_safe_array(const CharT(&in)[Size]) { return reinterpret_cast<std::array<CharT, Size> const&>(in); }Was sagt der Standard dazu? Mit dem GCC funktioniert es zumindestens prächtig.
Danke und Grüße,
Ethon
-
Ethon schrieb:
Was sagt der Standard dazu?
Der sagt, dass std::array<T, N> und T[N] layout-kompatibel sind - d.h. dass das funktionieren sollte.
-
pumuckl schrieb:
Ethon schrieb:
Was sagt der Standard dazu?
Der sagt, dass std::array<T, N> und T[N] layout-kompatibel sind - d.h. dass das funktionieren sollte.
Super, Danke.
-
pumuckl schrieb:
Ethon schrieb:
Was sagt der Standard dazu?
Der sagt, dass std::array<T, N> und T[N] layout-kompatibel sind - d.h. dass das funktionieren sollte.
sofern T standard-layout hat.