スポンサードリンク
HOME > C++言語 > 入出力ストリームについて

C++言語 - 入出力ストリームについて

C言語の場合、画面出力、画面入力には、printf関数系やscanf関数系を使い、

ファイル読み書き処理には、fopenfclose等の標準ライブラリ関数を使いました。

C++言語では、こういったデータ処理をストリームと言う概念で統一的な方法で使える

新機能が追加されました。

ストリームを使用するにはまず、#include <iostream>の記述を行います。

次に、対応するストリームオブジェクトを作成します。

対応するストリームオブジェクトとは画面出力用・入力用、ファイル出力用・入力用等です。

これでストリーム機能が使えるようになります。

C言語での画面出力例と、C++言語での画面出力例を比較してみましょう。

C言語での画面出力例

#include <stdio.h>

void main() {

   printf("C++言語入門\n");
}


C++言語のストリームを使った画面出力例

#include <iostream>

using namespace std;

void main() {

   
cout << "C++言語入門\n";
}


どうでしょうか?

ずいぶん変わった感じを受けると思います。

順番に説明していきます。

まず、ストリームを使うので、#include <iostream>と記述しました。

次に using namespace std; と言う記述がありますが、

これは名前空間と言うC++言語機能です。

ここでは説明は避けたいと思います。詳細は std名前空間について を見て下さい。

そして、メインとなる画面出力ですが、coutと言う単語が出てきました。

これは、画面出力用のオブジェクト名です。

ストリームを使うにはオブジェクトを作らなければならない。と説明しましたが、

作ってないのにいきなりオブジェクト名を使っています。

この理由は、画面出力・入力用オブジェクトはよく使われるので、

C++言語の標準機能として、すでに作られているのです。

coutは画面出力用オブジェクト名、そしてcinは画面入力用オブジェクト名です。

ですから新たに作る必要はないワケです。

次に画面出力ですが、coutの後には<<と言う演算子がついています。

しかし、これはビット演算の左シフト演算子ではありません。

画面に出力するための演算子です。

そのあとに文字列を記述すれば、それが画面に表示されます。

この<<演算子には、C++言語の演算子多重定義と言う機能が使用されています。

詳細は 演算子多重定義とは? を見て下さい。

出力演算子<<は、演算子多重定義を理解しないと非常に理解しにくいと思います。

理解しないまま使っても良いですが、理解できるとスッキリします。

こういった事情があるので、以外と使ってる人が少なかったりします。

C言語式の画面出力の方が簡単に理解できて手軽なので、

こちらを使う人が多いようです。

機能的な違いは多少ありますが、

自分の好みでどちらを使うか選んで頂ければ良いと思います。

参考:このサイトのC++言語解説ではストリームを使っています。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved