[[Hirofumi Fujii Start Page]] * C++入門第一回 [#f095132f] ** 準備するもの [#aa0f49fa] - C++ compiler:ISO/JIS 規格から逸脱したプログラムを扱うつもりはないので、規格を満たしているものなら何でも。藤井は GCC(GNU Compiler Collection) の g++ を使う。 - テキストエディタ:普通のテキストファイル(べたテキスト)が編集できるものなら何でもよい。Windows の場合はメモ帳でもよい。 - gnuplot プログラム:終盤でグラフ表示に使ってみるので、最初は無くてもよい。 ** 例題その1 hello world [#t6cec927] #include <iostream> int main() { std::cout << "hello, world" << std::endl; return 0; } 1行目の #include <iostream> はヘッダの読み込み。標準ライブラリの一つ iostream を使うことを指示。 2行目の int main() 以下は関数の定義。名前は main、引数は無し(括弧の中が空)、戻り値は整数。 プログラムを実行すると、main 関数が実行環境から呼ばれる。 3行目と6行目の中括弧の中が関数 main の本体。 4行目に演算の対象物(オブジェクト)と、それらに対する演算が記述 されている。 されている。セミコロンは文の区切りを表す。 std::cout "hello, world" std::endl が操作対象物(オブジェクト)で、二箇所にある << が演算を指示。これは左シフト演算子と呼ばれる二項演算子。 は二項演算子の一つで左シフト演算を表し左シフト演算子と呼ばれる。 足し算、引き算などの二項演算子と同様に、この記号の左側と右側にある オブジェクトが演算の対象。結合順は左から右。演算結果は一つの (通常は左側と同じ型の)オブジェクト。 オブジェクトが演算の対象で結合順は左から右。すなわち ((std::cout << "hello, world") << std::endl); と書いても同じ。 std::cout は標準出力オブジェクトで std::ostream と呼ばれるクラスのオブジェクト。 は標準出力オブジェクトと呼ばれるオブジェクトで std::ostream と呼ばれる クラスのオブジェクト。 このオブジェクトはヘッダ iostream を読み込んだ時点で準備されている。 "hello, world" は文字列リテラルオブジェクト。このように、文字列リテラルオブジェクトは 二重引用符で囲んで表す。 std::endl は操作子と呼ばれる入出力の整形などを行う一群のオブジェクトの一つ。 このオブジェクトは改行を行う。 5行目の return は、関数から抜けて関数を呼び出した部分に制御を戻す命令(今の場合は 呼び出し環境に戻る、つまりこのプログラムは終了する)。 その後にある 0 は整数(リテラル)オブジェクトでこのオブジェクトを呼び出し側に戻す。 この関数 main は、2行目で int を戻すと宣言されているので、整数オブジェクト を戻す必要がある。