onceを用いる方法」があります。ヘッダーファイルの重複読み込みヘッダーファイルを重複読み込みしてしまう問題とは、C++ソースファイルをコンパイルする際、ヘッダーファイルAとヘッダーファイルBの二つのファイルを読み込む場合に、先に読み込んだヘッダーファイルAを次に読み込むヘッダーファイルB内で再び読み込んでいると、ヘッダーファイルAの内容が二重定義されてコンパイルエラーになるという問題です。通常、ヘッダーファイル内で他のヘッダーファイルを読み込むことはよくあるので、ヘッダーファイルの二重読み込みは容易に起こります。それを防ぐために「一度読み込んだヘッダーファイルは二度は読み込まない」という機構を作る必要があります。防止方法は二つあります。onceを用いる方法」です。guard)」はどのコンパイラでも利用できますが、名前の衝突が生じます。コンパイル速度が遅くなるコンパイラもあるそうです。once」は、非標準の方法で、すべてのコンパイラで採用されているわけではありませんが、現在は主なコンパイラで採用されています。こちらは名前の衝突は生じません。ヘッダーファイル名」を定義して、ヘッダーファイル名が定義済みか、定義済みでないかを確認することで、ヘッダーファイルがすでに読み込まれているかを確かめる方法です。ヘッダーファイル名が定義されていない場合のみ、そのヘッダーファイルが読み込まれていないので、ヘッダーファイルの内容を読み込みます。FILENAME〜ファイルの内容〜#endifと書きます。名前の衝突とは、二つのヘッダーファイルに同じヘッダーファイル名(FILENAME)を付けてしまい、どちらか一方のヘッダーファイルを読み込むと他方のヘッダーファイルを読み込めなくなるという問題です。問題回避のためには統一した記法を用いることが大切になりますが、異なる制作者間のライブラリを使う場合には問題が生じます。詳しくは、ページ末尾の参考サイトをご覧ください。onceと記述するだけで、そのヘッダーファイルの二重読み込みを防止してくれます。従って、名前の衝突も生じません。4.8.2では、確かに使うことができました。onceが使えるコンパイラ一覧は、以下の参考サイトをご覧ください。