🦢

【C++入門】出力とコメント(B - 1.01.)

2023/12/04に公開

この記事の目的

以下のサイトの学びメモとなります

https://atcoder.jp/contests/APG4b/tasks/APG4b_b

まとめ(結論)

  • 以下は毎回最初に書く
    • #include <bits/stdc++.h>
    • using namespace std;
  • C++のプログラムはmain関数から始まる
    • main関数の中に出力したいプログラムを記述する
  • cout << "string" << endl;で文字列を出力できる
  • ///* */でコメントを書ける

サンプルコード

#include <bits/stdc++.h>
using namespace std;

int main() {
  cout << "Hello, world" << endl;
}

実行結果

Hello, world

include <bits/stdc++.h>

#include <bits/stdc++.h>は、C++のプログラムでよく使われるプリプロセッサディレクティブ
これは、C++の標準ライブラリのほとんど全てを一度にインクルードするためのもの

つまり、以下など多くのライブラリをこの一行を書くだけで使用することができる

  • <iostream>
  • <vector>
  • <algorithm>など

using namespace std;

using namespace std;は、C++の名前空間stdを使用するための宣言
C++の標準ライブラリの多くの関数やクラスはstdという名前空間に定義されている

この宣言を行うことで、std::cout, std::endl, std::vectorなどといった形で名前空間を指定することなく、これらの関数やクラスを直接使用することができる

しかし、名前空間stdの全てを使用することで、他のライブラリと名前が衝突する可能性がある

具体的には、

もしvectorという名前の関数やクラスを定義した場合、std名前空間のvectorクラスと名前が衝突する(あくまで可能性として)

この衝突はコンパイラがどちらのvectorを参照すべきか判断できなくなるためエラーを引き起こす
この問題を避けるためには、std名前空間の特定の要素だけを指定して使用する方法がある

例えば、using std::cout;とすることで、coutだけを直接使用することができる
これにより、他のstd名前空間の要素と名前が衝突するリスクを減らすことができます。

main関数について

  • C++のプログラムはmain関数から始まる

  • main関数の中に出力したいプログラムを記述する

int main() {
}

cout << "Hello, world" << endl;

cout(しーあうと)と読む

役割

  • C++の標準ライブラリに含まれるオブジェクト
  • 標準出力(通常はコンソール)にデータを出力する

endl

役割

  • 改行
③`cout << ① "Hello, world" << ② endl;`

セミコロン

  • 行の最後にはセミコロン;を忘れず

複数の出力

#include <bits/stdc++.h>
using namespace std;

int main () {
  cout << "a";
  cout << "b" << endl;
  cout << "c" << "d" << endl;
}

実行結果

ab
cd

上記の実行結果になる理由

  cout << "a";
  cout << "b" << endl;
  • 上記で "a"の後に endl;がない
  • よって、改行されないため abと続く

まとめ

この記事はC++プログラミングの基本的な概念と構文をメモ書きとしてまとめました

  • #include <bits/stdc++.h>using namespace std;がプログラムの最初に必要で

  • C++のプログラムはmain関数から始まること

  • cout << "文字列" << endl;で文字列を出力できることをまとめました

また、こちらの本記事では///* */でコメントを書く方法やプログラムは基本的に半角文字で書くべきであることも紹介しております

参照

https://atcoder.jp/contests/APG4b/tasks/APG4b_b

Discussion