☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

不应在匿名命名空间中使用静态声明

4.8 ID_staticInAnonymousNamespace
目录 › next › previous

匿名命名空间中的元素已具有内部链接性(internal linkage),不应再用 static 关键字限定。

示例:

namespace {
    static int i = 0;   // Non-compliant
    static int foo() {  // Non-compliant
        return i++;
    }
}

例中 static 关键字是多余的。

应改为:

namespace {
    int i = 0;          // Compliant
    int foo() {         // Compliant
        return i++;
    }
}

依据

ISO/IEC 14882:2011 3.5(4) ISO/IEC 14882:2017 6.5(4)
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.