2009-11-05から1日間の記事一覧

デストラクタがvirtualじゃないクラス、例えばvectorは継承しちゃだめなんだぞー!

と言われたら。 C++ code - 21 lines - codepad class Container { public: ~Container() { printf("Container::~Container()\n"); } }; class Hoge : protected Container { public: }; int main() { Hoge h; Hoge* hoge = new Hoge(); delete hoge; いった…

STLのvectorに文句を言わずに自分で頑張る方法

1.自分でvectorを書く 死亡フラグ。/(^o^)\ イテレータも使えないカスコンテナができる可能性99.9%。 今すぐ死んだ方が良い。 2.STLのvectorをprotected継承してカスタマイズする 例えばこんな感じ。 C++ code - 40 lines - codepad これは最初からres…

スタックが枯渇した……死にたい

こんなんで30分も使ってしまった。 意外と気づかんよね。 class Base { public: virtual void exec(){} }; class Derived : public Base { public: virtual void exec(){ Base:exec(); } }; int main() { Derived d; d.exec(); }