1. SLT の 6 つのコンポーネント:
コンテナ、イテレータ、アルゴリズム、ファンクタ、アダプタ、空間コンフィギュレータ
2. 6 つのコンポーネント間の関係
コンテナ: コンテナは STL の最も基本的なコンポーネントです。コンテナがなければ、データは存在しません。コンテナの機能はデータを保存することです。さまざまなシナリオでさまざまなコンテナが使用され、データ使用の高効率と省スペースを確保します。
アルゴリズム: アルゴリズムは問題を解決するためのアイデアと実装手順であり、プログラミングはアルゴリズムの実現です。さまざまなアルゴリズムの実現はデータ処理にとって重要です。アルゴリズムがなければ正しいデータは存在しません。
イテレータ: イテレータの出現により、コンテナとアルゴリズムが接続され、アルゴリズムとコンテナの基礎となる実装の詳細が隠蔽され、使用コストが削減されます。イテレータがなければ、アルゴリズムとコンテナはユーザーに直接公開されるため、カプセル化が削減されます。
アダプター: 他のコンテナーまたはイテレーターを介して他のコンテナーまたはイテレーターを実装します。stack/queue/priority_queue はすべて他のコンテナーを介して適応され、逆方向イテレーターは順方向イテレーターを介して実装することもできます。
Functor:operator() のクラスを実装することで、このクラス オブジェクトは、map/set でのキーのサイズ比較や sort での比較ルールなどを関数のように実装できます。
スペース コンフィギュレータ (メモリ プール): コンテナはメモリを頻繁に申請または解放します。要求された領域のサイズを決定して、さまざまなメモリ プールを使用することで、領域の無駄を削減し、アクセス効率を向上させます。