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
里面的大部分回答都是支持使用pragma once,因为更方便,更不容易出错,也更快。

本文探讨了C/C++中防止头文件重复包含的两种方法:#pragma once和#include guards。尽管#pragma once在某些编译器中不被早期版本支持,但因其便利性和降低出错概率而被推荐使用。然而,当面临大型项目时,结合使用两种方法以确保双重保险是更好的选择。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



