標準入出力処理
C++の入出力処理では,「iostream」がある.また,C言語の「stdio.h」をC++仕様に変更された「cstdio」がある.場合によって使い分けると便利である.
出力処理
iostreamを用いた出力処理では,変数の型を気にして処理する必要性がなくなるため、便利である.
#include <iostream>
#include <iomanip>
int main()
{
// std::cout << 出力したい変数 or 文字列;
// std::endl は改行する処理
// 「<<」 を付けると複数の変数or文字列を出力することができる。
std::cout << "Hello World" << std::endl;
// 「Hello World」と出力される
int a=0,b=1;
std::cout << a << " " << b << std::endl;
// 「0 1」と出力される
double pi=3.1415926535897932384626433832795028841971;
std::cout << pi << std::endl;
// 「3.14159」と出力される
// 表示される桁数を変更する
std::cout << std::fixed; // 指数表記から固定小数点表記に変更
std::cout << std::setprecision(15); // 表示範囲を小数点以下15桁に変更(iomanipのincludeが必要)
std::cout << pi << std::endl;
}
入出力処理
iostreamを用いた入力処理では,出力処理と同様に変数の型を気にして処理する必要性がなくなる.
#include <iostream>
int main()
{
int a,b,c;
// std::cin >> データを入れる変数;
std::cin >> a;
// 「>>」で複数のデータ入力ができる
std::cin >> b >> c;
}
iostreamによる入出力処理の高速化
「iostream」を用いた入出力処理は,「cstdio」や「stdio.h」の「printf」や「scanf」に比べると処理が遅い.以下のようなことをすると,処理が少し早くなる.
#include <iostream>
int main()
{
// 「iostream」と「stdio」の関係をきる
std::ios::sync_with_stdio(false);
// 「std::cin」の高速化
std::cin.tie(nullptr);
}
これらを行うとバグを発生させる可能性もあるので注意が必要.