自作のヘッダファイルは二重にインクルードしてしまうと再定義のエラーになりますが、
よくよく考えると<iostream>のような標準ヘッダはインクルードガードしないで何度もインクルードしているような
気がしますが、なぜエラーにならないのでしょうか?