タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

c++とprogrammingとJavaに関するtsupoのブックマーク (1)

  • C++で演算子オーバーロードしたときの演算子決定基準について調べた - 矢野勉のはてな日記

    C++すみませんしょぼい話です。『ジョエル・オン・ソフトウェア』の下記記事で 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project C言語では i = j * 5 は j を5倍する以外の意味はないけども、C++の場合は、i = j * 5 が何を意味するかは i と j の型を調べ、型の定義を見て、型にサブクラスがないかどうかをチェックし、もしあったら、実際には i あるいは j がそのサブクラスの方だったりしないかどうかチェックして初めて、 i = j * 5 の意味がわかる、という話があります。この話をtwitterにぽろぽろ書いているうちに、自分がC++の演算子オーバーロードについて無知であることが分かったので実験コードを書いてました。 その実験コード書きながらもtwitterにぽろぽろ書いてたんですが、何度

    tsupo
    tsupo 2008/09/24
    明示的にコンストラクタを呼び出したい場合は CBase *base = new CBase(); と書けばいいし / virtual は油断すると、いろいろな罠にはまるので注意(メモリリークの原因になったり、予想外のメソッドが動いたり)
  • 1