データを新しい std::array にコピーせずに、C スタイルの配列を std::array として扱う安全で標準に準拠した方法はありますか?
これは明らかにコンパイルされませんが、私が望む効果です (私の実際の使用はもっと複雑ですが、この短いサンプルは私がやりたいことを示しているはずです)。reinterpret_cast は「機能する」と思いますが、おそらく安全ではありませんか?
#include <array>
int main()
{
int data[] = {1, 2, 3, 4, 5};
// This next line is the important one, treating an existing array as a std::array
std::array<int, 5>& a = data;
}
データは同じように保存する必要があるため、可能であるべきだと感じています。
編集:明確にするために、新しい std::array をクリアしたくないので、既存のデータを 1 つとして参照したいと思います。