タグ

開発とboostに関するyassan0627のブックマーク (1)

  • Boost.Containerのフツーじゃないコンテナたち

    boost::container::static_vector static_vectorはstd::arrayとstd::vectorのあいのこ。std::array<T,N>は固定長配列 T[N]を標準コンテナ化したもので、要素数:size()は常にNを返しますし、要素の挿入/削除ができません。対してstatic_vector<T,N>は要素数N個"以下"の可変長配列としてふるまいます。最大N個の要素を格納する領域は動的に取得/解放されることはなく、(std::array<T,N>と同様)インスタンス内部に"静的"に確保されます(static_vectorの名はそのことに由来します)。 static_vector<T,N>にN個を超える要素を挿入しようとするとstd::bad_alloc例外がthrowされます。また、最大要素数の異なるstatic_vector<T,M>とstatic

    Boost.Containerのフツーじゃないコンテナたち
  • 1