生の配列と std::vectorに関するこの質問に対する受け入れられた回答によると、生の配列の利点 (2010 年) は次のとおりです。
- 配列はわずかにコンパクトです: サイズは暗黙的です
- 配列はサイズ変更できません。時にはこれが望ましい
- 配列は余分な STL ヘッダーを解析する必要はありません (コンパイル時)
- 配列を使用してストレート C コードとやり取りする方が簡単な場合があります (たとえば、C が割り当てており、C++ が使用している場合)。
- 固定サイズの配列は、構造体またはオブジェクトに直接埋め込むことができます。これにより、メモリの局所性が向上し、必要なヒープ割り当ての数を減らすことができます
私の知る限りでは、std::array は 3 番目のポイントを除くすべてに対応しています。
コンパイル時間をどうしても改善する必要がない限り、C++11 で std::array よりも raw 配列を使用する理由はありますか?