3

vector.max_size()ベクトルの成長を制限するためにを制限することは可能ですか?

vector.capacity()そうでない場合は、それが決定された量を超えないことを確認するために監視する機能が実行可能な代替品ですか?

4

2 に答える 2

6

ある種。カスタムアロケータを記述して、std::vector(ベクトルの2番目のテンプレート引数)で使用できます。アロケータはこれらの要件を満たす必要があります。ただし、これを適切に行うことは簡単ではありません。そして、最大サイズに達した後はvector無視するだけでなく、スローします。push_back

于 2012-11-25T13:09:31.440 に答える
1

あまり。ただし、ベクトルの独自のサブクラスを定義する(または独自の完全に新しいベクトル実装を作成する)ことができます。これにより、本当に必要な場合にこの要件を適用できます。

于 2012-11-25T13:02:49.047 に答える