C++ on MSVC/Minimum World

概要

C++の世界へようこそ。今回は、C++最小のプログラムを学びます。
正直、今回は面白くないかもしれませんが、基礎的な事を書いています。
単語を頭に残しておいて、分からないときに戻るのでもいいでしょう。

重要語

コード/ソースコード

C++の文法に従って書かれたテキスト

実行ファイル

コンピュータが実行できる機械語で書かれたファイル

コンパイル

コードを実行ファイルへと変換する作業

コンパイラ/コンパイラー

コンパイルを行うプログラム

コンパイルエラー

コンパイルに失敗した時のエラー

CUI(Character User Interface)

文字によってコンピュータと情報をやり取りする形式

コンソール

CUIによるアプリケーションが持つウィンドウ

関数

処理をまとめたもの

エントリーポイント

プログラムの実行が始まる場所

main関数

エントリーポイントとなる関数

必要語

C++のプログラム

まず、C++のプログラムを見る前の心構えということで、プログラムが出来るまでを学びましょう。

コード/ソースコードと実行ファイル

私たちは、C++の文法に従ってテキストを書いていくことになります。
そうやって書かれたテキストのことを、「コード」や「ソースコード」と呼びます。
しかし、コードはあくまでも人間が読むための文書なので、コンピュータは実行できません。
なので、コードは機械語で書かれている「実行ファイル」に変換する必要があります。

コンパイルとコンパイラ

コードから実行ファイルへ変換する作業のことを「コンパイル」と呼びます。
そして、コンパイルを行うプログラムが「コンパイラ」と呼ばれます。
私たちが使うコンパイラは、環境構築の時に入れた「Microsoft Visual C++」です。
ちなみに、Microsoft Visual C++は「MSVC」や「VC++」と省略されます。

コンパイラとコンパイルエラー

コードを書くのは人なので、C++の文法に違反してしまうことがあります。
ですが、C++の文法に違反しているとコンパイル出来ず、コンパイラはエラーを出します。
このエラーを「コンパイルエラー」と呼び、文法の何に違反したのかを教えてくれます。

コンパイルエラーについて

コンパイルエラーを見て、失敗したと思って辛い気持ちになるかもしれません。
しかし、それは大間違いで、実行ファイルを実行せずにエラーが見つかって幸運なのです。
コンパイルエラーが出ないけれど、意図通りに実行されない方が大変なのです。
「コンパイルエラーは普通で、コンパイラに感謝して、大喜びしよう」ということです。

今回のC++文法

次に、C++最小のプログラムを理解するためのC++の文法知識を学びましょう。

コンソールとCUI

実行したときに表示される黒い画面が「コンソール」です。
コンソールは、文字の表示のみをするウィンドウで、CUIをサポートします。
CUIというのは、文字によってコンピュータと情報をやり取りする方法です。
C++の規格では、このコンソールを用いたプログラムのみが定義されています。

関数

追って学びますが、プログラミングでの関数は、簡単に言うと「処理のまとまり」です。
関数は呼ばれる、すなわち実行されることによって、定義しておいた処理を実行するのです。

main関数とエントリーポイント

C++の規格では、コードに「1つのmain関数があること」を要求します。
「main関数」というのは、C++のプログラムで一番初めに呼ばれる関数です。
また、プログラムで一番初めに呼ばれる関数で、「エントリーポイント」と呼ばれます。

C++最小のプログラム

それでは、C++最小のプログラムを見ていきましょう。
Visual Studioのプロジェクトを以下のように作成しましょう。

プロジェクト作成

C++講習 - 導入 - 環境構築では、「Windows デスクトップ アプリケーション」でした。
C++ on MSVC講習では、「C++タグ」が付く「コンソールアプリケーション」になります。
「コンソールアプリケーション」を選択してプロジェクトを生成してください。
初期生成コードは全選択して削除して、以下のコードをコピペして実行してみましょう。
最小
int main() {}

実行結果

黒い画面が出ただけになったでしょうか。Visual Studioが、「~~.exe(プロセス ~~~~)は、コード 0 で終了しました。このウィンドウを閉じるには、任意のキーを押してください。」と出力しているかもしれませんが、それ以外には何も書かれてないと思います。
実行結果
> 

このプログラムがしている事

何もしてません。

このコードでの実行の流れ

コードを書くにあたって、コード上での実行のされ方を把握するのが重要です。
というわけで、今回のコードの実行のされ方をコード上で追っていきましょう。
まず、int main() {}がmain関数で、{から実行が始まり、}で実行が終わります。
以上です。本当に何もしてないのが分かると思います。
ただし、コンソールはコンパイル時に組み込まれているので表示されています。

練習問題

次回からは練習問題があります。ページで学んだことを元に、問題の回答を作りましょう。
練習問題とは銘打っていますが、忘れていたら調べたり、ページを見たりして取り組みましょう。