があり、その内容 (つまり、公開されていない配列メンバー)std::array<T, n>
への配列参照を取得したいとします。elems
が ではなくをstd::array<T, n>::data()
返すことに驚いたので、何らかのキャストが必要なようです。私は書くことができます:T *
T (&)[n]
std::array<int, 5> arr;
int (&ref)[5] = *reinterpret_cast<int (*)[5]>(arr.data());
ただし、これは見た目が悪く、安全でない可能性があります。それは正当な (明確に定義された) コードですか?これを行うためのより良い方法はありますか?