タグ

ブックマーク / ajiyoshi.hatenadiary.org (2)

  • やはりお前らはSICPを読むといい - *「ふっかつのじゅもんがちがいます。」withぬこ

    この記事はVOYAGE GROUP Advent Calendar の12/24分です なんか推敲が間に合わず、12/24に間に合いませんでしたが、今更だします。ごめんなさい。 SICP(計算機プログラムの構造と解釈)と言うをご存知ですか?私はこのSICPというが大好きで、社内でも何度も読書会を催しています。なぜ読書会をするかというと、一人で読みきるのは辛い(人もいる)ためです。 この記事では何がそんなに良いのかという説明をします。 そもそもこのは、MITの6.001という計算機科学講義の教科書としてデザインされ、実際に使われていたものだそうです(今は別なが採用されている)。 同様の初歩的な計算機科学の教科書の中でこのが特異だと私が感じるのは、おまじないやお約束を可能な限り廃して、ごく少数の根的な動作原理のみを仮定して、変数とは何か、関数とは何か、プログラミングするという行為は

    やはりお前らはSICPを読むといい - *「ふっかつのじゅもんがちがいます。」withぬこ
  • C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ

    (追記あり/再追記あり) ブクマ経由で、C++で演算子オーバーロードしたときの演算子決定基準について調べたというのを見たのだけど、書いてあるサンプルコードが演算子オーバーロード以前にちょっとダメだった。 昔書いたテストコードと書いてあるので、今は分かってるのかもしれないけど、ある程度経験を積んだC++プログラマは絶対に(というのは言いすぎでした)virtualデストラクタのないクラスを継承しない(追記やTBやブコメの議論を参照のこと)ので、このサンプルコードを載せて違和感を感じない時点で、演算子オーバーロードをいじるよりもまずはEffective C++を読んだ方がよい。 何がダメか。以下のように、virtualデストラクタがないクラスを継承している。これはダメだ。例え基底クラスのデストラクタですべきことがないのだとしても、継承するつもりのあるクラスにはvirtualデストラクタを作らない

    C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ
  • 1