19

STLにぴったり合うスタイルでコンテナクラスを書きたいと思います。標準のSTLコンテナがあるかのように見え、動作する必要があります。

これらの機能セットを使用してコードを作成する方法を説明するマニュアル、レポート、Q&Aなどはありますか?このようなテキストは、STLの設計原則、落とし穴、コーディング規約などを損なうはずです。

PS:この質問は、そのアイデアに部分的に触発されています。動的なアイテムサイズのC ++ベクトルですが、そのアイデアはテンプレートクラスに関するものではありません。

4

4 に答える 4

8

それほど難しくありません (単純なデータ構造の場合)。C++ 標準のコンテナーに関する章を読む必要があります。今後の C++1x 標準のドラフトは、次の場所からダウンロードできます。

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/#mailing2011-04

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf

イテレータを記述するときに、boost::iterateror_facade を使用することをお勧めします。

http://www.boost.org/doc/libs/1_46_1/libs/iterator/doc/iterator_facade.html

于 2011-06-10T12:37:02.910 に答える
7

Herb Sutter の"Unstrung"を読むことをお勧めします。std::stringこれは、何がうまくいったか、何が改善できたかをカバーする、の詳細な調査です。C++ プログラミングに関する彼の意見を高く評価します。長い文章ですが、C++ 標準ライブラリのスタイルでクラスを作成すること (および一般的なクラスを作成すること) について、いくつかの役立つことを学べることを保証します。

Scott Meyers の「Effective STL 」も参照してください。その本は、標準ライブラリ コンテナーのユーザーに課せられる期待の概要を説明します。その洞察があれば、より優れたコンテナー クラスを自分で作成するのに役立ちます。

于 2011-06-10T12:51:52.120 に答える
4

Josuttis のThe C++ Standard Library: A Tutorial and Referenceを読むことをお勧めします。STL の背後にある原則について、明確で読みやすい説明を提供します。

于 2011-06-10T14:22:21.230 に答える
1

user763305 が推奨するものに加えて、Austern、Generic Programmming、および STL: Using and Extending the C++ Standard Template Libraryも参照します。この種の問題について説明し、STL の概念の良い参考資料として役立ちます。

于 2011-06-10T20:10:10.837 に答える