C言語で文字を表示させるためには、printfなどの関数を使用しました。C++でもprintfを
使用することはできますが、滅多に使用しません。代わりに、ostremクラスを使用します。
ostreamクラスとは、出力用ストリームの一種で、プログラムが実行されると、標準出力
(cout)、標準エラー出力(cerr)、標準入力(cin)というものがすでに使える状態にあります。
C言語でもstdout, stderr, stdinというファイルポインタが使用できるのと同じです。
ではさっそく、「Hello C++ World.」と表示するプログラムを紹介しましょう。
#include <iostream>
using namespace std;
void main(){
cout << "Hello C++ World" << endl;
}
|
Hello C++ World.
|
ストリームを使用するためには「iostream」をインクルードする必要があります。また、
次の行に「using namespace std;」と書く必要があります。これについては
名前空間の項で説明します。
そして、「cout <<」の後に出力したい物を記述します。「endl」は
マニピュレータと呼ばれる物の一種で、endlは改行して、
ストリームをフラッシュするという意味です。フラッシュというのは、「バッファーに
溜まっている物を出力する」という意味です。
つまり、「標準出力のバッファーに"Hello C++ World."を溜めて、endlで、出力せよ」
という意味になります。
「<<」の後は、文字列でなくても構いません。次の例では、int型の変数ageに
年齢を入れておき、自分の名前と年齢を表示するものです。
#include <iostream>
using namespace std;
void main(){
int age = 20;
char* name = "Ryoko Hirose";
cout << "My name is " << name << endl;
cout << "I am " << age << " years old." << endl;
}
|
My name is Ryoko Hirose.
I am 20 years old.
|
つまり、「<<」の後が、charポインタ、intなど型を判断して、適切に表示
してくれることになります。
型
| 出力形式
|
char |
1文字として出力 |
bool int short long |
整数として出力 |
float double |
小数として出力 |
char* |
文字列として出力 |
その他のポインタ |
アドレスとして出力 |
なお、ストリームと関係ありませんが、C++では「bool」という型が追加されました。
boolは主にフラグとして利用する型で、「true」か「false」が入ります。つまり1か0です。
bool flag = true;
while( flag ){
:
:
}
|
のように使用します。
話はストリームに戻りますが、標準エラー出力に表示させたい場合は、「cout」の代わりに
「cerr」を使用するだけです。