...
Because solutions such as this one make it possible to create a header file that can be included more than once, the C standard [ISO/IEC 9899:2011] guarantees that the standard headers are safe for multiple inclusion.
...
CERT C++ Secure Coding Standard: PRE06-CPP. Enclose header files in an inclusion guard
ISO/IEC 9899:2011 Section Section 6.10, "Preprocessing directives," Section 5.1.1, "Translation environment," and Section 7.1.2, "Standard headers"
...