次の要件を満たすために、新しいプロジェクトに適切なデータ型を選択しようとしています。
- ハイ!タイムクリティカル(データ入力用)
- コンテナー内のデータに対するランダムな挿入や操作はありません (読み取り専用で順次挿入)
- サイズはコンパイル時に固定されます(動的割り当ては不要です)
- データは、(スレッドまたはサービスによって) 定義された期間が経過すると順次削除され、空のスペースは新しく来るデータ用に再び使用できる必要があります。
元。コンテナに 1,2,3,4,5,6 が挿入されたとしましょう。しばらくすると、6 が削除され、7 が挿入されるため、リストは 7,1,2,3,4,5 になり、次に 5 が削除されます...ただし、サイズは同じでなければなりません。
パフォーマンスとメモリの観点から、どのデータ構造が最も効率的で、私の状況に適しているのか疑問に思っていました。
ありがとう...
編集:ちなみに、基本的な FIFO ロジックとは少し異なります。10 要素 (サイズ) のデータ コンテナーを作成し、コンテナーの最後 (サイズの制限) に達していなくても 3 つの要素しか挿入しなかったとします。指定した時間が経過すると削除されます。
ところで、boost:array を使おうと思っていたのですが、std:vector と std:deque について少し混乱しました。この状況で何か特別な利点はありますか?