1. 头文件保护简介
设计头文件时,应使其可以多次包含在同一源文件中。我们必须保证多次包含同一头文件不会引起该头文件定义的类和对象被多次定义。
使得头文件安全的通用做法,是使用预处理器定义头文件保护符(header guard )。头文件保护符用于避免在已经见到头文件的情况下重新处理该头文件的内容。
它是一种预处理指令,通过定义一个标识符来保证头文件只被编译一次,从而避免多重定义错误。
2.常见用法
#ifndef HEADER_FILE_NAME_H
#define HEADER_FILE_NAME_H
// 内容...
#endif // HEADER_FILE_NAME_H
在上述代码中,如果HEADER_FILE_NAME_H未被定义,则会执行#define语句后面的代码。如果已经定义过了,则会跳过整个部分,避免头文件的重复包含。最后的#endif表示预处理指令的结束,其中还可以添加注释帮助阅读代码