コンテナ

2021年6月19日

これらのコンテナーの多くは、オハイオ州のReusable Software Research Groupの作業に触発されました。そのため、多くのオブジェクトはどのような形式でもコピーをサポートしておらず、交換のみが許可されています。つまり、オブジェクトがこれらのコンテナのほとんどに追加または削除されると、コピーされずに入れ替えられます。

これにより、STLで同じことをした場合に発生する可能性がある大量のコピーのオーバーヘッドに遭遇することなく、コンテナのコンテナをコンテナのコンテナにすることができます。これは、コピーできないオブジェクトをこれらのコンテナ内に格納できることを意味します。これは、C ++ 11より前のSTLでできることではありません。

これらのコンテナでは、swap()とoperator <がスローされないことが想定されています。この仮定が破られると、それらは正しく機能しないかもしれません。また、組み込み型(int、long、charなど)やstd :: stringはoperator <やswap()をスローしません。

また、ほとんどのコンテナは列挙可能なインターフェイスを継承してい ます。したがって、enumerableから継承されたすべてのメンバ関数はenumerableクラスで定義されており、それらのドキュメントは各コンテナのドキュメントで繰り返されていません。これは各コンテナのsize()メンバ関数を含みます。

Objects

Interfaces

Posted by kinya