C言語の場合、画面出力、画面入力には、printf関数系やscanf関数系を使い、
ファイル読み書き処理には、fopen、fclose等の標準ライブラリ関数を使いました。
C++では、こういったデータ処理を
ストリームと言う概念で統一的な方法で使える新機能が追加されました。
ストリームを使用するにはまず、#include <iostream>の記述を行います。
次に、対応するストリームオブジェクトを作成します。
対応するストリームオブジェクトとは
画面出力用・入力用、ファイル出力用・入力用等です。
これでストリーム機能が使えるようになります。
C言語での画面出力例と、C++での画面出力例を比較してみましょう。
C言語での画面出力例
#include <stdio.h>
void main() {
printf("C++言語入門\n");
}
C++のストリームを使った画面出力例
using namespace std;
void main() {
cout << "C++言語入門\n";
}
どうでしょうか?
ずいぶん変わった感じを受けると思います。
順番に説明していきます。
まず、ストリームを使うので、#include <iostream>と記述しました。
次に using namespace std; と言う記述がありますが、
これは名前空間と言う機能です。
ここでは説明は避けたいと思います。
詳細は std名前空間について をご覧下さい。
そして、メインとなる画面出力ですが、coutと言う単語が出てきました。
これは、画面出力用のオブジェクト名です。
ストリームを使うにはオブジェクトを作らなければならない。
と説明しましたが、
作ってないのにいきなりオブジェクト名を使っています。
この理由は、画面出力・入力用オブジェクトはよく使われるので、
C++の標準機能として、すでに作られているのです。
coutは画面出力用オブジェクト名、
そしてcinは画面入力用オブジェクト名です。
ですから新たに作る必要はないワケです。
次に画面出力ですが、coutの後には<<と言う演算子がついています。
しかし、これはビット演算の左シフト演算子ではありません。
画面に出力するための演算子です。
そのあとに文字列を記述すれば、それが画面に表示されます。
この<<演算子には、C++の演算子多重定義と言う機能が使用されています。
詳細は 演算子多重定義とは? をご覧下さい。
出力演算子<<は、演算子多重定義を理解しないと非常に理解しにくいと思います。
理解しないまま使っても良いですが、理解できるとスッキリします。
こういった事情があるので、以外と使ってる人が少なかったりします。
C言語式の画面出力の方が簡単に理解できて手軽なので、
こちらを使う人が多いようです。
機能的な違いは多少ありますが、
自分の好みでどちらを使うか選んで頂ければ良いと思います。
このサイトのC++解説ではストリームを使っています。