こんにちは私はベクトルのようにインデックスを付けることができるが、ベクトルがサイズ変更や予約で行うようにメモリ内の古い要素を移動しないstlコンテナが必要です(すべての要素に十分な容量で最初に予約を1回呼び出さない限り、私には良くありません)。(私は要素へのアドレスバインディングを行うので、これらの要素のアドレスは決して変更されないことを期待していることに注意してください)。だから私はこの両端キューを見つけました。この目的に適していると思いますか?重要:プッシュバックのみが必要ですが、コンテナーをオンデマンドで小さなチャンクに拡張する必要があります。
2532 次
2 に答える
12
std::deque
後部または前部で要素を追加または削除するときに「残りの要素へのポインタまたは参照を無効にしない」のでpush_back
、要素のみが所定の位置にとどまる場合はそうです。
于 2012-11-05T15:40:23.003 に答える
5
ドキュメントを注意深く読むと、最初または最後に挿入する限り、ポインタが無効になることはなく、ポインタを無効にすることは、データがコピーまたは移動されていることを示しているようです。
それが構築される方法は、各要素が個別に割り当てられるリンクリストとはまったく異なりますが、おそらくパフォーマンス上の理由から、リンクされた配列のセットとして行われます。中央の要素の順序を変更すると、データを移動する必要があります。
于 2012-11-05T15:40:37.320 に答える