c – 你应该在前向声明标题中使用#ifndef guard吗?
作者:互联网
我有一个简单的头文件,我在前面声明命名空间中的所有类,例如.
#ifndef TEST_FWD_HPP
#define TEST_FWD_HPP
namespace a {
namespace b {
class A;
class B;
}
}
#endif
该文件是否应该防范多个包含(#ifndef …)?这仅对前向声明有意义吗?
解决方法:
保护这样的头文件通常是一种好习惯.在大多数情况下,文件只包含一次,但是当项目变得复杂,并且头文件包含在其他头文件中时,它可以帮助您保持理智.
如果你只有前向定义和函数原型,那么它通常是没有必要的,但随着头文件随着时间的推移倾向于占用东西,它通常是值得做的事情.
标签:c,header-files,forward-declaration 来源: https://codeday.me/bug/20190723/1511601.html