C++のcinストリームとcoutストリームの違いとは?基本的な使い方も解説
cinとcoutの基本的な違い
C++におけるcinは入力ストリームのオブジェクトで、コンソールやファイルなどの入力元からデータを受け取るために使用します。一方、coutは出力ストリームのオブジェクトで、処理結果などを画面に表示するために使用します。
簡単にまとめると、cinは「入力」を受け付けるための文、coutは「出力」を行うための文だと言えます。
さらに、両者は使用する演算子も異なります。cinでは抽出演算子(>>)を使用し、coutでは挿入演算子(<<)を使用します。この違いを覚えておくと、コードの読み書きがスムーズになります。
サンプルコード
例えば、int型の変数my_intにcinで値を読み込み、その値をcoutで画面に出力するプログラムは、次のように記述します。
#include<iostream>
int main() {
int my_int;
std::cin >> my_int;
std::cout << my_int;
return 0;
}このプログラムを「hello.cpp」というファイル名で保存します。続いて、ターミナル(またはコマンドプロンプト)でファイルの保存先ディレクトリに移動し、以下のコマンドでコンパイルします。
$ g++ hello.cpp
コンパイルが完了したら、次のコマンドでプログラムを実行します。
$ ./a.out
実行結果
入力として「15」を与えると、画面には次のように出力されます。
15
このように、cinとcoutを組み合わせることで、ユーザーからの入力を受け取り、その結果を即座に出力するシンプルなプログラムを簡単に作成できます。
-
C++におけるドット演算子(.)とアロー演算子(->)の違いを徹底解説
C++では、ドット演算子(.)とアロー演算子(->)はどちらもクラスのメンバーにアクセスするために使用されますが、それぞれ使用される場面が異なります。C++において、class、struct、unionとして宣言された型はすべて「クラスタイプ」とみなされるため、以下の説明はこれら3つすべてに当てはまります。基本的な使い分けa.b は、b がオブジェクト a(またはオブジェクトへの参照[1])のメンバーである場合にのみ使用できます。つまり、a.b の形式では、a は常にクラスの実際のオブジェクト(またはその参照)でなければなりません。a->b は、本質的に (*a).b の省略記法で
-
C++における#defineとconstキーワードの違いとは?
#defineとconstの基本的な違い#defineディレクティブはプリプロセッサディレクティブです。プリプロセッサは、コンパイラがソースコードを認識する前に、マクロをその定義内容で単純に置き換えます。イメージとしては、ソースコード全体に対して自動的に実行される「検索と置換」のようなものです。const変数の特徴一方、constによる変数宣言は、言語仕様上の実際の変数を宣言するものです。そのため、通常の変数と同じように扱うことができます。具体的には、以下のような操作が可能です。アドレスの取得(ポインタや参照への代入)関数への引数としての受け渡しキャストや型変換パフォーマンスとスコープの違いコ