2011年12月31日

HP 35s

Common Lisp脳を鍛えるために役立つかどうか半信半疑ですが、逆ポーランド電卓買いました
HP 35s
後置演算対応の電卓です
Common Lispは前置だから完全に一致しているわけではないのですが、中置よりは全然力になるかなと思いました
と、言うのは購入に対する言い訳で、昔会社の人と休みの日にサッカーしてた時期がありましてですね、せっかくなんでサッカー好きな友達を誘って一緒にやろうぜって誘ったんですけどその友達は確か結局1回か2回しかサッカーしなかったんですよね
結局スパイクが欲しくて、当時ベッカム全盛期だったのですけどその友達はベッカムモデルのアディダスのスパイクが欲しかった
ただサッカーしないのにスパイクだけ買うってのがどうもなっとくいかなかったみたいでそこで俺がサッカー誘ったからこりゃ絶好の機会だねってことで早速スパイク買ってましたよ
サッカーするんだからスパイクなかったら話にならないってことでスパイク買ってた
HPの逆ポーランド電卓かったのも完全に欲しかったからなだけで、Common Lisp脳を鍛えるなんてのは購入に対する言い訳でしかないのですけどね

2011年12月30日

21章

STLアルゴリズムについて
と言っても一般的なアルゴリズムの解説ではなくてコンテナやイテレータを利用してSTLでどうやって汎用性のあるアルゴリズムを提供しているかについて
また、STLアルゴリズムの利用方法について
コンテナを選ぶときの基準
STLって不慣れな人にはすごく利用しづらいものだと思うので、例えばテンプレートとか引数とか一目見ただけだとなんのことなのか良く分からないと思うのでそれらの解説
アルゴリズムを利用する際の要になる関数オブジェクトについての説明、使い方
昔、関数オブジェクト全然理解できなかったのだよねってことを思い出しながら読みました
コンテナ、イテレータ、アルゴリズムが独立しているこのSTLの概念に触れるたびにすごいなと関心しっぱなしです、本当にスゴイと思う

20章

コンテナとイテレータについてとそれぞれの内部のカラクリに関して
それぞれがどうなっているか、どういった機能が必要でそれを実現する方法について
色々なコンテナ、イテレータを区別しないで利用できる利点、必要性に関して

2011年12月24日

19章

やっとテンプレートの説明登場。
待ってましたと言った感じです。
アロケータとかでてきましたね。
なんか一気にレベルが上がった気がするのですが。
テンプレートの登場で一気に抽象度が上がったように感じるな。
面白くなってきましたね。
アロケーターについて説明があってやっと意味が分かった。
意味と言うか存在理由というか、なんのためにこれがあるのか不思議だったので。

18章

コンストラクタについて。
コピーコンストラクタ、代入の意味や扱い方について。
浅いコピー、深いコピー。
浅いコピー、深いコピーについはクラスを扱う上では絶対必要になる。
クラスにどんなコンストラクタ、デストラクタが必要かのヒント。
あとは構文の見た目が自然になるように演算子オーバーロードについて。
配列についての考察とポインタとの関連。
値渡し、参照渡し、ポインタ渡しについて。
ポインタの問題点、注意点が詳しく記述されているので特に注意しておくといいと思う。

17章

vectorを作りつつ色々学ぼうということ。
vectorと配列の違いやポインタについて。
アドレスとかデリファレンスの説明やなんでそんなもんがあるのかなど。
この説明がやっと登場するあたりさすがC++って感じですね。
このポインタやアドレスの説明読むとまあしょうがないそりゃそうだと思えるのだけど世間でよく言うように普通に挫折してそしてPHPやらなんやらで満足することになるのだろうな。
確かに初学者がこれ読んで「なるほど面白い」と思えるかと言うと素直にそうは思えないですがこれは非常に重要なことなので是非この難関を突破して欲しいところですね。
そしてクラスの説明もやっと登場。
とてもとても初歩的なクラスの説明だけど基本は大事だからしっかり身につけたいところ。