Синтаксис определения структуры или класса, что-то вроде этого:
(class
| struct
) [класс тегов] {
члены}
экземпляры;
Я использую [
и ]
для обозначения необязательного элемента и курсива для обозначения произвольного списка элементов.
Другими словами, вы можете определить только сам тип, что-то вроде:
class xxx { /* ... */ };
... или вы можете определить только экземпляр типа:
class { /* ... */ } an_instance;
... или можно сделать так:
class xxx { /* ... */ } another_instance;
... или вы можете определить количество экземпляров, если вы хотите:
class xxx { /* ... */ } instance1, instance2, instance3;
Последние не являются ключевыми словами - это обычные переменные. Большинство людей, которые хотели сделать то же самое, что, вероятно, написать два отдельно:
class SomeClass {
/* ... */
};
SomeClass instance;
Для большинства практических целей, это является синонимом форме в вопросе.
Это * не * ключевое слово, это идентификатор экземпляра объявленного класса. Это эквивалентно написанию 'class SomeClass {...}; SomeClass instance; '. – dmckee