hoshimi、C++の本を買いまくる。

結局C++の本3冊もこの一週間で買ってしまったですよ。

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

JAVAから本格的(?)なプログラムの勉強に入ったのですがJAVAからC++に入る上で単純に言語の読み替えのみではうまくいかない要素が沢山あります。配列やポインタといったメモリ周りのことは非常に正確に書かないとバグがいつになっても消えなくなってしまうような仕様になってしまう可能性があるからです。(C++の配列には本当に悩まされます。)どのように書くことでそれらのバグが起こらないような変数・関数・クラスの宣言ができるか、気をつけるポイント55箇所を順に解説してくれる本です。(だと思います。)マスターピースだそうですね。今回ついに手をだしました。なんどやっても自分のやりかたではVectorをちゃんと実装できなかったので、まあ購入は仕方ないのでは、ということで。

STL標準講座―標準テンプレートライブラリを利用したC++プログラミング (Programmer’s SELECTION)

STL標準講座―標準テンプレートライブラリを利用したC++プログラミング (Programmer’s SELECTION)

STL。スタンダードテンプレートライブラリーでしたっけ。STLvectorやlistといった、便利なクラスライブラリですが、その解説本です。辞書的に使おうかと。JAVAArrayListなどの便利なクラスのC++版と考えていますが、友人曰くC++STLのほうがずっと使いやすそうです。とりあえず私を苦しめ続けた配列の悪夢から救ってくれそうなvectorをしっかりと勉強しようかと思っております。反復子とかjavaには無い概念があって面白いですね。JAVAには演算子オーバーロードやポインタが無いのでC++のこういう概念は新鮮です。

Numerical Recipes in C++: The Art of Scientific Computing

Numerical Recipes in C++: The Art of Scientific Computing

日本語版です。最近数値計算にはまってきたので、(つーかシミュレーションするなら数値計算は必須なのでは?)数値計算の勉強用に買いました。Runge-Kuttaなど、近似や積分、方程式を効率よく解答するアルゴリズムとソースのサンプルが提供されております。(友人曰くNumericalRecipi in C++の英語版の方がよいとのこと。実はこの本はあんまソースが綺麗じゃないとか。あと、方法が古いのだとも。)まあ仕組みを勉強するのにしばらくはこれをつかって色々と自分用のライブラリを実装していきたいと思います。

EffectiveC++とSTLを少しずつ読み始めてます。NumericalC++は辞書的な使い方になるのかな。なんか実装したくなったときにサンプルを参考に作ろうかと考えております。とりあえずは物理学情報処理論の課題をやらんとorz...(そのためにこの三冊を買ったのだが。)