プログラムの基本構造
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 4/74。
C++では、ほとんどの実行可能なコードは関数の中に記述されます。main関数はC++プログラムのエントリポイントです。C++プログラムを実行すると、mainの中にあるコードが最初に実行されます。グローバル宣言やプリプロセッサディレクティブのような一部のコードは関数の外に記述されることがあり、また、独自のカスタム関数を作成することもできます(これについては後のレッスンで説明します)。
基本的なC++プログラムの簡単な構成は以下の通りです:
#include <iostream> // 入出力のためのプリプロセッサ指令
int main() { // メイン関数
std::cout << "This is my first C++ program!"; // 出力文
return 0; // リターン文(推奨される慣習)
}C++では、#includeプリプロセッサディレクティブは、プログラムで使用できる関数やオブジェクトの宣言が含まれているヘッダーファイルをインクルードするために使用されます。この場合、#include <iostream>はiostreamヘッダーをインクルードし、コンソールにテキストを出力するためのstd::coutのようなオブジェクトを提供します。
上記のプログラムの主要な部分を詳しく見ていきましょう:
- プリプロセッサ指令 (
#include <iostream>): この行はコンパイル前に実行され、コンパイラに iostream ヘッダーファイルをインクルードするように指示します。これにより、プログラムが入出力ツールにアクセスできるようになります。 - 関数 (
int main() { ... }): 関数は、タスクを実行する名前付きのコードブロックです。mainの前にあるintは、関数が整数値を返すことを示しています。波括弧{}は関数のスコープを定義します。その中にあるものはすべてmainに属します。スコープとは、ブロック内のコードがその中に含まれ、そのブロックの一部として実行されることを意味します。
- 名前空間プレフィックス (
std::):std::プレフィックスは、標準ライブラリの名前空間内でcoutを探すようコンパイラに伝えます。名前空間は、関連する名前をグループ化し、衝突を避けるための方法です。名前空間については、後のレッスンで詳しく説明します。 - 出力ステートメント (
std::cout): これはコンソールにテキストを表示します。 - リターンステートメント (
return 0;): これはプログラムが正常に終了したことを示します。C++ではmain内でのリターンステートメントは厳密には必須ではありませんが、含めることが推奨される慣習です。
重要な注意点:C++では、各ステートメントはセミコロン(;)で終わる必要があります。セミコロンは必須であり、ステートメントの終わりに達したことをC++に伝えます。セミコロンを付け忘れると、コンパイルエラーが発生します。ただし、波括弧 {} で囲まれたコードブロック(関数宣言など)にはセミコロンは不要であることに注意してください。
チャレンジ
初心者main関数を持つC++プログラムを作成してください。main関数の中で、次のテキストを出力するコードを記述してください:
This is my first C++ program!チートシート
基本的なC++プログラムの構造:
#include <iostream> // 入出力用のヘッダーをインクルードします
int main() { // プログラムの開始点
std::cout << "This is my first C++ program!"; // テキストを出力します
return 0; // 正常終了を通知します
}#include <iostream>—std::coutのような入出力ツールを含めますint main() { ... }— メイン関数。ここから実行が始まりますstd::— 標準ライブラリの名前にアクセスするための名前空間プレフィックスstd::cout— コンソールにテキストを表示します- すべての文は
;で終わります。コードブロック{}は終わりません
自分で試してみよう
#include <iostream>
// 以下にコードを書いてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。