Bauwerke, die in C ++. Teil 2





структуры с++, структуры c++, struct c++. вложенные структуры

Со структурами C++ мы предварительно познакомились в предыдущей статье. Продолжаем знакомство.

Определение структуры желательно располагать за пределами Main() Funktionen. Тогда работать с ней смогут и другие определенные программистом функции, как показано в нашем примере из первой части. Такое объявление называют внешним.

Инициализация. Элементы структуры можно инициализировать сразу при объявлении объекта.

Объявляем объект volume1 in Zeile 13 и проводим его инициализацию. Похоже на инициализацию элементов массивав фигурных скобках и через запятую. Эти данные запишутся в соответствующие элементы структуры по порядку. В каком порядке определены элементы в структурев таком и произойдет запись значений. Операцию равно можно не использовать (согласно C++11).

Рассмотрим такую инициализацию на примере с более сложной структурой Wundervolle Frau :

структуры с++, структуры c++, struct c++. вложенные структуры

Объект этой структуры можно инициализировать так:

структуры с++, структуры c++, struct c++. вложенные структуры

Но если структура содержит больше двух-трех элементов -желательно так не делать. Это немного запутывает и усложняет читаемость и понимание программы.

Объявление объектов. Создать объект структуры можно сразу во время её определения. Для этого необходимо дать имя объекту между точкой с запятой и закрывающей фигурной скобкой:

В С++ есть возможность определить структуру без дескриптора (без имени типа):

In diesem Fall надо обязательно объявлять объекты в определении структуры. В главной функции вы уже не сможете создать другие объекты этой структуры, так как дескриптора нет. Этот прием есть смысл применять, если объектов структуры будет очень мало – 1 oder 2.

Присваивание (=) для структур. Для объектов одной структуры можно применить операцию присваивания = . Операция присвоит элементам одного объекта значения элементов второго объекта.

Это так называемое поэлементное или почленное присваивание. Der Bildschirm:

структуры с++, структуры c++, struct c++. вложенные структуры

Сработаловсе элементы объекта структуры volume2 стали равны элементам объекта volume1.

Память занимаемая структурой. Betrachten Sie das Beispiel: используя оператор Größe von, узнаем сколько памяти занимает каждый элемент структуры в отдельности. Посчитаем общий объем памяти элементов. Потом применим Größe von к объекту структуры и увидим, что размеры не совпадают.

Der Bildschirm:

структуры с++, структуры c++, struct c++. вложенные структуры

Größe von показал нам сколько памяти занимает каждый элемент структуры HandsomeMan. Мы эти значения суммировали и получили 25. То есть по идее структура должна занимать 25 байт оперативной памяти. Но когда мы применяем оператор Größe von к структуреполучаем значение 28.

Размер объекта структуры не всегда равен сумме размеров его элементов. Так случается из-за выравнивания элементов разной длины. Поэтому в структуре могут встречаться безымянные участки памяти. Если вам надо знать сколько в действительности занимает структура в памятипримените Größe von , wie in Beispiel.

Это видео из предыдущего урока. Кто не смотрелуделите время




Мы узнали как определять структуры, как объявлять и инициализировать их объекты. Если нам понадобится создать больше чем 2-3 объекта структуры, тогда лучше создать массив структур. Эту тему рассмотрим в следующей статье.

Zur Unterstützung unserer Website – klicken Sie auf das Sparschwein und wählen Sie eine beliebige bequeme Weise.

Newsletter neue Lektionen:


Ich bin damit einverstanden, Nachrichten zu empfangen von purecodecpp.com auf meine E-Mail

Datum
Seite
Bauwerke, die in C ++. Teil 2
Wertung
5

3 Gedanken zu "Bauwerke, die in C ++. Teil 2

  1. странно, но с именем в структуре беда, а точнее когда вводишь
    volume = { “Name”, usw ;

Hinterlasse eine Antwort

Platz Code in Tags: <pre class="lang:c ++ dekodieren:true ">DEIN CODE</Vor>