C言語では printf と scanf
を使って入出力を行ってきました。 C++ではこれらの代わりに、より直感的な
cout と cin を使います。
また、標準機能は「名前空間」に整理されており、その違いを理解することが重要です。
#include <iostream>
using namespace std;
int main() {
string name;
cout << "名前を入力してください:";
cin >> name;
cout << "こんにちは、" << name << " さん!" << endl;
return 0;
}printf("Hello %s", name); など
書式指定子 が必要だった<< を使って
そのまま変数を並べて書ける(書式指定不要)cin >> 変数; だけで
型ごとに自動的に読み取ってくれる| 演算子 | C++での意味 | 例 |
|---|---|---|
| << | 出力ストリーム演算子 | cout << "Hello" << endl; |
| >> | 入力ストリーム演算子 | cin >> 変数; |
<<, >> は
ビット演算子 だった#include <iostream>
int main() {
std::cout << "標準名前空間を明示" << std::endl;
return 0;
}std::cout というように
機能の出どころを明示 する設計using namespace std;
を使えば省略も可能だが、大規模開発では非推奨以下のコードを実行し、「Sato」と入力した場合、何が表示されるか考えてください。
#include <iostream>
#include <string>
using namespace std;
int main() {
string name;
cout << "名前を入力してください:";
cin >> name;
cout << "こんにちは、" << name << " さん!" << endl;
return 0;
}名前を入力してください:Sato
こんにちは、Sato さん!
cin >>
だけで文字列入力が完了し、書式指定子も不要printf, scanf ではなく cout,
cin を使う<<, >>
はビット演算子ではなく入出力に使われる(オーバーロード)