c++ -- SLT の 6 つのコンポーネント間の関係

1. SLT の 6 つのコンポーネント:

コンテナ、イテレータ、アルゴリズム、ファンクタ、アダプタ、空間コンフィギュレータ

2. 6 つのコンポーネント間の関係

コンテナ: コンテナは STL の最も基本的なコンポーネントです。コンテナがなければ、データは存在しません。コンテナの機能はデータを保存することです。さまざまなシナリオでさまざまなコンテナが使用され、データ使用の高効率と省スペースを確保します。

アルゴリズム: アルゴリズムは問題を解決するためのアイデアと実装手順であり、プログラミングはアルゴリズムの実現です。さまざまなアルゴリズムの実現はデータ処理にとって重要です。アルゴリズムがなければ正しいデータは存在しません。

イテレータ: イテレータの出現により、コンテナとアルゴリズムが接続され、アルゴリズムとコンテナの基礎となる実装の詳細が隠蔽され、使用コストが削減されます。イテレータがなければ、アルゴリズムとコンテナはユーザーに直接公開されるため、カプセル化が削減されます。

アダプター: 他のコンテナーまたはイテレーターを介して他のコンテナーまたはイテレーターを実装します。stack/queue/priority_queue はすべて他のコンテナーを介して適応され、逆方向イテレーターは順方向イテレーターを介して実装することもできます。

Functor:operator() のクラスを実装することで、このクラス オブジェクトは、map/set でのキーのサイズ比較や sort での比較ルールなどを関数のように実装できます。

スペース コンフィギュレータ (メモリ プール): コンテナはメモリを頻繁に申請または解放します。要求された領域のサイズを決定して、さまざまなメモリ プールを使用することで、領域の無駄を削減し、アクセス効率を向上させます。

 

おすすめ

転載: blog.csdn.net/weixin_66828150/article/details/132347579