c ++创建实例的语法

时间:2010-10-14 11:39:46

标签: c++ class

class class_name instance;

class_name instance;

以上所有内容都与cl.exe一起使用,但它是标准的,是否与所有其他编译器相同?

2 个答案:

答案 0 :(得分:3)

C ++语法中的elaborated-type-specifier非终结符允许

class class_name instance;。很难指出标准的一个特定部分告诉你这一点,因为即使在提供C ++语法的附录中它也相当分散,但生产基本上都是(省略了许多步骤):

declaration-statement
    -> type-specifier declarator ;
    -> elaborated-type-specifier declarator ;
    -> class identifier declarator ;
    -> class identifier unqualified-id ;
    -> class class_name instance ;
相比之下,

class_name instance ;是使用simple-type-specifier非终端产生的。

declaration-statement
    -> type-specifier declarator ;
    -> simple-type-specifier declarator ;
    -> type-name unqualified-id ;
    -> class_name instance ;

答案 1 :(得分:2)

是的,它是标准的并且意味着同样的事情。 class TT在C ++中的含义相同。语法来自C,其中struct TT并不意味着相同的事情。