1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【初心者むけ】C++基本事項

Last updated at Posted at 2019-10-12

最近C++を触り始めたので基本的なことをメモとして残します。

Hello Worldの出し方

何はともあれ入り口としてのHello World

エディタで以下のように書き、

hello.cpp
# include <iostream>
using namespace std;

int main(){
  cout << "Hello World!!" << endl;
  return 0;
}

ターミナル/コマンドプロンプトでファイルのあるディレクトリまで移動して、

g++ -o hello.exe hello.cpp

と叩くとhello.cppがhello.exeにコンパイルされます。

その後同じディレクトリにて、

./hello.exe

とコマンドを入力すると...

Hello World!!

これでOKですね。

Hello Worldの中身解説

それぞれの要素に分解して見ていきましょう。
まず、最初の

# include ...

ですが、
...の部分にあるヘッダファイルをインクルードすることによってライブラリを利用します。

この場合はmain関数の中にある

cout,endl

を利用するために

# include <iostream>

としてiostreamをインクルードします。

次に、main関数を宣言します。

int main(){

C++において、関数は返り値、関数名(引数)、{手続き}、という形で関数を定義します。
この場合は intという返り値で、mainという関数、()の中が空白なので引数はなし、{}の中身についてはこれから解説していきます。

また、インクルード文の直後にある

using namespace std;

についてですが、

C++という言語は名前空間というものを持っており、例外もあるのですが、基本的に標準ライブラリはstd名前空間に含まれます。

coutやendlもこの名前空間に含まれるので、本来は

std::cout << "Hello, World" << std::endl;

と書かなければなりません。

  cout << "Hello World!!" << endl;

しかし、例えば競技プログラミングなどの競技性が高いものにおいてこのように記述するのは冗長で時間の無駄なので、上記のように書いています。

なので、ググった時に出てくる競プロ勢のコードなどでは上記のような書き方をしているはずです。

そして最後の

return 0;
}

についてですが、main関数においては慣例的に、return 0という表記をしています。

※10/12修正
C++において、戻り値なしのreturnや関数末尾のreturn省略は「return 0;」と同じ扱いとなっており、
こちらは誤りでした。

コメント欄のご指摘通り、

main関数内でreturnが省略された場合のみ、main関数は暗黙的に0を返すとみなされます
それ以外の場合、戻り値がある関数でreturnが省略された場合の動作は未定義動作になります

とのことです。
ご指摘ありがとうございました。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?