структура (C++)
struct ключевое слово, указывающее тип структуры или переменную типа структуры.
[template-spec] struct[ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Параметры
template-spec
Необязательные спецификации шаблона.Для получения дополнительных сведений см. Спецификации шаблона.struct
structключевое слово.ms-decl-spec
Необязательную спецификацию хранени-класса.Дополнительные сведения см. в разделе __declspec ключевое слово.tag
Имя типа, присвоенное структуре.Тег будет зарезервированым словом в области макета.Тег необязательный.Если этот аргумент опущен, анонимная структура определена.Дополнительные сведения см. в разделе Анонимные типы классов.base-list
Необязательный список классов или структур эта структура был производным из его элементов.Дополнительные сведения см. в разделе Базовые классы.Каждое имя базового класса или структуры может предшествовать описателем доступа (Открытый" private" protected) и Виртуальный ключевое слово.См. таблицу в доступа к членам Управление доступом к членам класса для получения дополнительных сведений.member-list
Список членов структуры.Для получения дополнительных сведений см. Члены класса.Единственное различие заключается в том, что здесь то struct использует вместо class.declarators
Списке декларатора указав имена классов.Списки декларатора объявляют один или несколько экземпляров типа структуры.Деклараторы могут содержать списки инициализатора, если все члены данных класса public.Списки инициализатора общие в структурах, поскольку элементы данных public по умолчанию.Дополнительные сведения см. в разделе Общие сведения о деклараторов.
Заметки
Составной тип структуры определяемый пользователем тип.Состоит из полей или участников, которые могут иметь различные типы.
В C++ такая же, как и класс, структура, за исключением того, что ее члены public по умолчанию.
Дополнительные сведения об управляемых классах и структурах см. классы и структуры.
Использование структуры
В c# необходимо явно использовать struct ключевое слово для объявления структуры.В C++ это необязательно, как только тип был определен.
Вы можете объявить переменные, когда тип структуры определяется с помощью одного или нескольких запятая-отделенные имена переменных между заключительной расчалкой и точкой с запятой.
Переменные структуры могут быть инициализированы.Инициализация для каждой переменной должна быть заключена в скобки.
Дополнительные сведения см. в разделе класс" unionи перечисления.
Пример
// struct1.cpp
struct PERSON { // Declare PERSON struct type
int age; // Declare member types
long ss;
float weight;
char name[25];
} family_member; // Define object of type PERSON
int main() {
struct PERSON sister; // C style structure declaration
PERSON brother; // C++ style structure declaration
sister.age = 13; // assign values to members
brother.age = 7;
}
struct POINT { // Declare POINT structure
int x; // Define members x and y
int y;
} spot = { 20, 40 }; // Variable spot has
// values x = 20, y = 40
struct POINT there; // Variable there has POINT type
struct CELL { // Declare CELL bit field
unsigned short character : 8; // 00000000 ????????
unsigned short foreground : 3; // 00000??? 00000000
unsigned short intensity : 1; // 0000?000 00000000
unsigned short background : 3; // 0???0000 00000000
unsigned short blink : 1; // ?0000000 00000000
} screen[25][80]; // Array of bit fields