テキストは『ロベールのC++入門講座』
まずは Chapter 01 から 03 まで。
開発環境は Visual Studio Express 2013 for Windows Destop (フリーウェア)を選択。
JAVAの開発経験が長いので、このあたりは簡単すぎて退屈する。
ただ、基本からしっかりやりたいので、ちゃんと読む。
プログラミング自体より開発効率や慣習やちょっとしたコーディング作法などは、場所を選ばずにさらっと触れられていたりするので、新しい発見があったりする。
ここでプログラミングの初学者むけに内容をなぞるようなことはしないでおこうと思う(要望があればやってもいいが)
とりあえずはJavaからC++に入った人(俺のことだが)向けに注意すべき違いについて復習の意味でメモしていこうと思う。
【メソッド引数の参照渡し】
C++ではメソッドの引数でintなどのプリミティブ型でも参照渡しがあるのな。その場合、メソッドの引数の型の右横に&をつける。
void hoge(int& arg) {
【文字列を受ける型はchar配列】
① char hoge[] = “Test”;
② char hoge[] = {‘T’, ‘e’, ‘s’, ‘t’, 0};
どちらの宣言でもOKだが、②では配列の最後にヌルターミネーター(0または’\0’)が必要となる。忘れた場合はバグで、予期しない文字列が表示されたりする。
【関数(メソッド)の宣言】
ソースはコンパイラが上から順番に読み込んでいくそうで、メソッドは宣言する前に使用しているとビルドエラーとなる(びっくり)
とはいえ、出てくる順番を考慮しながらコーディングしていたら大規模なプロジェクトはたちゆかなくなる。
そこで、登場するのがプロトタイプ宣言。JAVAのインターフェースに宣言するメソッドみたいな形で、ソースの頭で宣言してやれば、中の実装は何処でやっても良いという。
そしてこのプロトタイプ宣言をまとめたものをヘッダファイルとして別ファイルに定義しておいて、ソースの先頭でインクルードするというやり方に落ち着いたんだなきっと。
次回から悪名高いポインタが出てくるみたい。わくわく。