STLにぴったり合うスタイルでコンテナクラスを書きたいと思います。標準のSTLコンテナがあるかのように見え、動作する必要があります。
これらの機能セットを使用してコードを作成する方法を説明するマニュアル、レポート、Q&Aなどはありますか?このようなテキストは、STLの設計原則、落とし穴、コーディング規約などを損なうはずです。
PS:この質問は、そのアイデアに部分的に触発されています。動的なアイテムサイズのC ++ベクトルですが、そのアイデアはテンプレートクラスに関するものではありません。
STLにぴったり合うスタイルでコンテナクラスを書きたいと思います。標準のSTLコンテナがあるかのように見え、動作する必要があります。
これらの機能セットを使用してコードを作成する方法を説明するマニュアル、レポート、Q&Aなどはありますか?このようなテキストは、STLの設計原則、落とし穴、コーディング規約などを損なうはずです。
PS:この質問は、そのアイデアに部分的に触発されています。動的なアイテムサイズのC ++ベクトルですが、そのアイデアはテンプレートクラスに関するものではありません。
それほど難しくありません (単純なデータ構造の場合)。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
Herb Sutter の"Unstrung"を読むことをお勧めします。std::string
これは、何がうまくいったか、何が改善できたかをカバーする、の詳細な調査です。C++ プログラミングに関する彼の意見を高く評価します。長い文章ですが、C++ 標準ライブラリのスタイルでクラスを作成すること (および一般的なクラスを作成すること) について、いくつかの役立つことを学べることを保証します。
Scott Meyers の「Effective STL 」も参照してください。その本は、標準ライブラリ コンテナーのユーザーに課せられる期待の概要を説明します。その洞察があれば、より優れたコンテナー クラスを自分で作成するのに役立ちます。
Josuttis のThe C++ Standard Library: A Tutorial and Referenceを読むことをお勧めします。STL の背後にある原則について、明確で読みやすい説明を提供します。
user763305 が推奨するものに加えて、Austern、Generic Programmming、および STL: Using and Extending the C++ Standard Template Libraryも参照します。この種の問題について説明し、STL の概念の良い参考資料として役立ちます。