C++ 我需要为嵌套 类 定义 header 守卫吗?
C++ Do i need to define header guards for nested classes?
请看给出的例子:
#ifndef OUTER_H
#define OUTER_H
class Outer
{
class Inner
{
public:
Innner();
};
};
#endif
我的问题是:我是否需要在某处为我的内部 class 创建一个 header 守卫,还是只为整个文件创建一个?
因为你的主头文件包含所有内容,我假设这是一个 .h 文件,这意味着它只包含声明(或者至少应该包含声明),然后守卫内的一切都受到守卫。所以简而言之,不,你不需要额外的守卫。
请看给出的例子:
#ifndef OUTER_H
#define OUTER_H
class Outer
{
class Inner
{
public:
Innner();
};
};
#endif
我的问题是:我是否需要在某处为我的内部 class 创建一个 header 守卫,还是只为整个文件创建一个?
因为你的主头文件包含所有内容,我假设这是一个 .h 文件,这意味着它只包含声明(或者至少应该包含声明),然后守卫内的一切都受到守卫。所以简而言之,不,你不需要额外的守卫。