ソースプログラムはコンピュータに仕事をさせるための、 一種の「手順書」と呼べるものですが、 人間自身もそれを見ます。 ソースプログラムを書く場合には、 自分以外の人がそれを見て、 自分が何をコンピュータにさせようとしているのかが 容易に理解できるよう留意する必要があります。 見かけの美しいプログラムを書くことは、 無駄なことではありません。
そのプログラムを他の人や、 プログラムの作者自身が読むときの参考になる、 そのプログラムに対する解説です。コンパイラはそれを無視します。 C 言語のコメントは /* で始まり */ で終わります。 C++ 言語では、これに加えて // から行末までをコメントとして扱います。
// プログラム: hello.cc -- "Hello!" を標準出力に出力する // 目的: プログラムの例 // 作者: 山田太郎 // 作成日: 1994年10月 3日 // 修正日: 1994年10月17日 #include <iostream.h> int main() { /* 挨拶をする */ cout << "Hello!\n"; return 0; } |
コメントの入れ子(ネスティング)はできません。 次のような例はエラーになります。
/* ……………… /* ……………… */
| …………………… */
|
この部分が ひとつのコメントになる | このに部分には /* がないことになる |
プログラムは エッセイのように読むことができる ものでなければなりません。 適切なコメントのないプログラムには 「トラブルの原因が潜在している」というエラーがあるとみなされます。
プログラムの構造を視覚的に表現するために、 プログラムにインデントを付けてください。 mule ではタブキーをタイプすると、 適切なインデントを自動的に付けてくれます。
カーソルのある行にインデントを付ける | Tab または C-i |
インデントはブロック({ と } にはさまれた部分)単位で、 入れ子になっている部分を深く(右に)します。 すなわち、{ に出会う度に、その次の行は1段右から書き始め、 } に出会う度に、その次の行は1段左から書き始めます。
#include <iostream.h> int main() { char buf[1024]; for (;;) { cout << "Input: "; cin.getline(buf, sizeof(buf)); if (cin.eof()) break; cout << "Output: " << buf << endl; } return 0; } |
こういうスタイルで書く人もいます。
#include <iostream.h> int main() { char buf[1024]; for (;;) { cout << "Input: "; cin.getline(buf, sizeof(buf)); if (cin.eof()) break; cout << "Output: " << buf << endl; } return 0; }
インデントを付けないと、 非常に読みにくいプログラムになります。
#include <iostream.h> int main() { char buf[1024]; for (;;) { cout << "Input: "; cin.getline(buf, sizeof(buf)); if (cin.eof()) break; cout << "Output: " << buf << endl; } return 0; }