代码之家  ›  专栏  ›  技术社区  ›  Raz Solomon

静态常量vs常量静态[重复]

  •  1
  • Raz Solomon  · 技术社区  · 7 年前

    在C中,是否有以下区别 static const const static 在变量声明中?

    常量静态 给予 warning: 'static' is not at beginning of declaration

    这不是我的代码,我看到的所有其他问题都是关于C++和 static 在那里有不同的含义。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Eric Postpischil    7 年前

    限定符和说明符的顺序无关紧要。根据C 2011【N1570】6.7.3 10:

    类型限定符在说明符或限定符列表中的顺序不影响指定的类型。

    和6.7.2 2:

    类型说明符可以以任何顺序出现,可能与其他声明说明符混合使用。

    然而,本标准在6.11.5中描述了在其他说明符或限定符之后使用存储类说明符已过时:

    将存储类说明符放置在声明中声明说明符的开头之外是一种过时的特性。

    –Obsolescent–意味着该特性可能会在未来的标准修订版中被考虑撤销(根据 介绍 第2段)。因此,发出警告的编译器 const static 正在建议进行更改,以帮助为C的未来版本准备源代码。