C++プログラミング入門

C++プログラミング入門

C++プログラミング入門

夏休みに入ってから C++ の勉強を始めた。理由はなんとなくこの先役に立ちそうだからということで何とも漠然としている。

手始めに読んだのが上に挙げた本。主な特徴は

  • C でプログラミング経験のある人のための C++ 入門というコンセプト
  • OOP をサポートしている C++ の機能にしぼって説明をしている
  • サンプルコードにおいて必要なところ以外は省略している

といったところ。これらの特徴のためなのか、薄い本になっている。

一通り読んでみて、参照って何なんだろう、と。普通にコード書くときに参照使うのかな。ポインタで事足りてるような気がする。でも演算子の多重定義をサポートするというのは何となく納得。例えば、あるクラスで代入演算子オーバーロードして使う場合を考える。そのとき operator=() 関数にオブジェクトへのポインタを渡すように定義すると、代入演算子の右辺で明示的に(代入元のオブジェクトの)アドレスを渡さなければならない。でも参照渡しにすれば右辺で明示的にアドレスを渡す必要がない、つまりもともとの代入演算子と同じように、そのクラスで新しく定義した代入演算子を使うことができる。本で述べられていたのは、たぶんそういうことだと思っている。しかしこれでは参照とポインタの違いは構文だけということになってしまうなあ。他に何か違うところがあるのだろうか。

とりあえず、この本だけでは当然足らないと思うので同じようなコンセプトとレベルの本をもう一冊くらい読もうかと考えている。