Программирование ARM Что такое Elaborated Type Specifier? Thu, March 28 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Что такое Elaborated Type Specifier? Печать
Добавил(а) microsin   

Перевод этого термина - уточненный (или конкретизированный) спецификатор типа. Это имя (идентификатор), перед которым стоят ключевые слова class, struct, enum или union.

class MyClass;
struct MyStruct; 
enum MyEnum;
union MyUnion;

Конкретизированный спецификатор типа используется или для акцента, или чтобы показать имя типа, которое было скрыто декларацией переменной с таким же именем и такой же областью видимости.

Следующий оператор декларирует идентификатор Window как имя класса. Этот синтаксис используется для предварительного декларирования (forward declaration) классов. Для дополнительной информации по именам классов см. [2].

class Window;

Если имя декларируется с ключевым словом union, оно также должно быть определено с ключевым словом union. Имена, которые определены с ключевым словом class, могут быть декларированы с ключевым словом struct (обратное тоже справедливо). Таким образом, следующие примеры легальны: 

// elaborated_type_specifiers1.cpp
struct A;   // Forward declaration A.
class A // Определение A. { public: int i; };
int main() { }

 

// elaborated_type_specifiers2.cpp
class A;   // Forward declaration A
struct A { private: int i; };
int main() { }

 

// elaborated_type_specifiers3.cpp
union A;   // Forward declaration A
union A { int i; char ch[2]; };
int main() { }

// elaborated_type_specifiers4.cpp
union A;   // Forward declaration A.
 
struct A
{   // C2011
   int i;
};

 

// elaborated_type_specifiers5.cpp
union A;   // Forward declaration A.
 
class A
{   // C2011
public:
   int i;
};

 

// elaborated_type_specifiers6.cpp
struct A;   // Forward declaration A.
 
union A
{   // C2011
   int  i;
   char ch[2];
};

[Ссылки]

1. Elaborated Type Specifiers site:msdn.microsoft.com.
2. Class Names site:msdn.microsoft.com.

 

 

Добавить комментарий


Защитный код
Обновить

Top of Page