C++中头文件的保护块是什么?

chr*_*rry 5 c++ ide header codeblocks header-files

我正在尝试使用Code :: Blocks IDE创建一个C++类,并且有一个名为"Guard block"的字段.我已完成搜索,但未能找到任何有用的信息.这个领域是什么?谢谢.

Lou*_*Lou 11

Guard块用于防止同一编译单元(c ++文件)多次包含头文件.他们看起来像这样:

// Foo.h
#ifndef INCLUDE_FILE_NAME_HERE_H_
#define INCLUDE_FILE_NAME_HERE_H_

class Foo
{
};


#endif
Run Code Online (Sandbox Code Playgroud)

如果包含相同文件的多个文件,则最终会出现多个定义错误.在小型项目中不需要使用包含防护,但在任何中型到大型项目中都必须使用.我经常在我写的任何头文件上使用它.