2012-11-28 94 views
1

当我使用关键字static带班成员,我通常把它放在这样的返回类型之前:static关键字

class Problem { 
public: 
    static void solve() {} 
} 

我只注意到在VS2010它的工作原理相同与反转它返回类型:

class Problem { 
public: 
    void static solve() {} 
} 

该标准对此有何评论?有这个我应该知道的其他含义,还是完全一样?

+3

它完全一样,但我懒得得到一个标准报价 – Pubby

+2

我相信它是7.1-p1和7.1.1-p1,5。其中第二个是_decl-specifier-seq_序列的定义,它允许每个decl一个存储类(由_storage-class-specifier_生成),但可以在类型之前或之后出现。 (不是规范的最大解析器,但我认为这是正确的)。我可以试着将它打成一个答案,但答案编辑器在展示语法产品方面真的很糟糕(任何提示都会被赞赏的提示,顺便说一句)。 – WhozCraig

回答

3

DECL说明符-SEQ 选择的各种组件的顺序(ISO/IEC 14882:2011,§7声明)在很大程度上是任意的。特别是,存储类(如'静态')可以与类型信息混合在一起,尽管C标准中除了第一个存储类以外的其他存储类已经过时了(但是,就我所知,在C++标准)。

相关问题