カテゴリ: C++ 更新日: 2025/12/24

C++の#includeディレクティブとヘッダファイルの役割を完全解説!初心者でもわかる仕組み

#includeディレクティブとヘッダファイルの役割
#includeディレクティブとヘッダファイルの役割

先生と生徒の会話形式で理解しよう

生徒

「C++のサンプルコードを見ると、最初に #include って書いてありますけど、これは何をしているんですか?」

先生

「それは、別のファイルに書かれている便利な情報を、今のプログラムに取り込むための命令です。」

生徒

「自分では何も書いていないのに、どうして必要なんですか?」

先生

「理由があります。C++では、使う道具を事前に宣言しておく決まりがあるんです。」

1. #includeディレクティブとは

1. #includeディレクティブとは
1. #includeディレクティブとは

#include は、C++で使われるディレクティブと呼ばれる特別な命令です。 ディレクティブとは、プログラムが実行される前に処理される指示書のようなものです。

#include の役割は、とてもシンプルです。 別のファイルの内容を、その場所に丸ごと貼り付けるイメージです。

料理に例えると、レシピ本から必要なページをコピーして手元に置くような感覚です。

2. ヘッダファイルとは何か

2. ヘッダファイルとは何か
2. ヘッダファイルとは何か

ヘッダファイルとは、プログラムで使える機能の説明書のような存在です。 関数や変数、道具の名前などがまとめて書かれています。

C++では、ヘッダファイルは .h.hpp という拡張子を持っています。 標準ライブラリのヘッダファイルには、すでに多くの便利な機能が用意されています。

ヘッダファイルを読み込まないと、その中に書かれた機能は使えません。

3. iostreamヘッダファイルの役割

3. iostreamヘッダファイルの役割
3. iostreamヘッダファイルの役割

C++のHello Worldで必ず登場するのが、#include <iostream> です。 この iostream は、入出力を扱うためのヘッダファイルです。

std::coutstd::endl などは、 この iostream に定義されています。

もし #include <iostream> を書かずに使おうとすると、 コンパイラは「その道具を知らない」とエラーを出します。

4. 山かっことダブルクォーテーションの違い

4. 山かっことダブルクォーテーションの違い
4. 山かっことダブルクォーテーションの違い

#include には、二つの書き方があります。 ひとつは < >、もうひとつは " " です。

< > は、C++が最初から用意している標準ヘッダファイルを読み込みます。 一方、" " は、自分で作ったファイルを読み込むときに使います。

初心者のうちは、標準ライブラリである <iostream> を使う場面がほとんどです。

5. #includeはいつ処理されるのか

5. #includeはいつ処理されるのか
5. #includeはいつ処理されるのか

#include は、プログラムが動く前に処理されます。 この段階を前処理と呼びます。

前処理では、#include の場所にヘッダファイルの中身が展開されます。 その後で、コンパイルという作業が行われます。

そのため、#include は実行命令ではなく、準備の命令だと考えると理解しやすくなります。

6. #includeを書かないと起きること

6. #includeを書かないと起きること
6. #includeを書かないと起きること

必要なヘッダファイルを書かないと、コンパイルエラーが発生します。 これは、プログラムが使おうとしている道具の説明が見つからないためです。

例えるなら、説明書を読まずに家電を操作しようとして、 ボタンの意味が分からず止まってしまう状態です。

C++では、使うものは必ず事前に宣言するという考え方が、とても大切です。

7. #includeとC++学習の基礎

7. #includeとC++学習の基礎
7. #includeとC++学習の基礎

#include とヘッダファイルの仕組みを理解すると、 なぜ最初に決まった形のコードを書くのかが見えてきます。

C++は、自由度が高い分、ルールもしっかりしています。 その入口が、#include とヘッダファイルです。

Hello Worldの段階でここを押さえておくと、 その後の学習がスムーズになります。

カテゴリの一覧へ
新着記事
New1
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
New2
C++
C++とは?歴史と特徴を初心者向けに解説!Rustとの違いとモダン言語比較
New3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
New4
Rust
Rust開発環境をLinuxで構築する方法とおすすめ設定を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.4
Java&Spring記事人気No4
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作
No.5
Java&Spring記事人気No5
C言語
Makefile入門:C言語プロジェクトを自動ビルドしよう!初心者でも分かる仕組みと使い方
No.6
Java&Spring記事人気No6
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.7
Java&Spring記事人気No7
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.8
Java&Spring記事人気No8
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド