C++ 中是#pragma once
在 C++ 中是#pragma once(注意是pragma而不是progrom)。
作用
它是一种非标准但被广泛支持的预处理器指令。其主要作用是确保头文件(.h或.hpp文件)在一个编译单元中只被包含一次。
当一个项目中有多个源文件(.cpp文件)都包含了同一个头文件时,如果没有措施防止多次包含,就会导致编译错误,例如重复定义类型等问题。
与传统头文件保护的比较
在传统的 C++ 中,我们使用头文件保护来防止头文件的多次包含。例如:
cpp
复制
#ifndef SOME_HEADER_FILE_H
#define SOME_HEADER_FILE_H
// 头文件内容
#endif
而#pragma once提供了一种更简洁的方式来达到相同的目的。不过,#pragma once依赖于编译器的实现,而传统的头文件保护是标准 C++ 中的技术,具有更好的可移植性。但在现代大多数常用编译器中,#pragma once的使用是非常安全和高效的。