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 文件,这意味着它只包含声明(或者至少应该包含声明),然后守卫内的一切都受到守卫。所以简而言之,不,你不需要额外的守卫。