C/C++ 头文件防止被重复包含有2种常用的做法,一种是传统的ifndef
:
#ifndef HEADER_H
#define HEADER_H
...
#endif // HEADER_H
另一种是稍微新一些的pragma once
:
#pragma once
...
远古gcc版本不支持pragma once
–gcc 3.4之前的版本不支持pragma once
,也就是2006年前的gcc,现在应该没人用这么古老的编译器吧。
我找到2个问答:
c++ - #pragma once vs include guards? - Stack Overflow
c++ - Is #pragma once a safe include guard? - Stack Overflow