1

在我维护的一个程序中,我找到了一个结尾带有关键字 instance 的类。像这样:

class SomeClass{ 
public:
} instance;

该程序是一个 DLL,而这个“SomeClass”是加载 DLL 时创建的第一个对象。实例关键字从何而来?它是gcc特有的吗?我在哪里可以阅读更多关于它的信息?

4

2 回答 2

5

结构或类定义的语法是这样的:

( class| struct) [类标签]{ 成员 } 实例 ;

我使用[and]表示可选项目,斜体表示任意项目列表。

换句话说,您可以只定义类型本身,例如:

 class xxx { /* ... */ };

...或者您可以只定义一个实例,例如:

 class { /* ... */ } an_instance;

...或者您可以同时执行以下操作:

 class xxx { /* ... */ } another_instance;

...或者您可以定义多个实例,如果您愿意:

 class xxx { /* ... */ } instance1, instance2, instance3;

后者不是关键字——它们只是普通变量。大多数想要完成相同事情的人可能会分别编写两者:

class SomeClass { 
   /* ... */
};

SomeClass instance;

对于大多数实际目的,这与问题中的形式同义。

于 2013-04-23T16:44:31.083 回答
3

这个词instance不是关键字。您正在实例化一个SomeClass名为instance.

这是我从 Google 搜索中找到的 C++ 关键字列表。

于 2013-04-23T16:22:49.267 回答