myvectorクラスの方針は以下のようになります。
- 準拠する C++ のバージョンは C++11。
- cppreference.comを事実上のリファレンスとする。
- アロケータの指定は無し。メモリ確保には malloc() と realloc() を使う。
- ソースコードは github にコミットする。
- テストプログラムは lest を使用する。
始めですので、まずはクラスの定義だけを行います。
/** * @class myvector * @brief myvector is a class which imitates std::vector. * @tparam T: The type of the elements. */ template <typename T> class myvector { };本当に、クラスの定義だけです。
注意点として、std::vector では2番目のテンプレートパラメータとしてアロケータを指定しますが、myvector では2番目のテンプレートパラメータはありません。これは、myvector がアロケータの指定をサポートしていないためです。サポートしていない理由は色々ありますが、一番の理由は、アロケータの指定は滅多に行われない、ためです。
全ソースコード: https://github.com/suomesta/myvector/tree/master/001
0 件のコメント:
コメントを投稿