<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">

C++: Структуры и объединения | Лекция 3 | ИТМО, ФИТИП

42 подписчика

12+
12+

3 часа назад

ПожаловатьсяНарушение авторских прав

42 подписчика

12+
12+

3 часа назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 часа назад

Курс C++ для студентов 1-го курса факультета информационных технологий и программирования (ФИТИП) Университета ИТМО. На лекции разобрали составные типы данных в C++. Начали с того, зачем вообще объединять переменные в структуры, и перешли к объявлению, инициализации и вложенным структурам. Разобрали инициализацию с именами полей из C++20 и то, чем она отличается от своего прародителя из C99. Поговорили о копировании структур, передаче их в функции и возврате из функций, о массивах структур и указателях на них. Затем заглянули в память: как поля структуры лежат друг за другом, откуда берутся пустые байты выравнивания и как порядок полей меняет размер объекта. Обсудили упаковку структур, увеличенное выравнивание и битовые поля. Во второй части разобрали объединения: одна область памяти для нескольких полей, активный член и tagged union. Познакомились с std::variant как безопасной заменой и научились проверять идеи об оптимизации бенчмарком. А ещё выяснили, почему пустая структура весит один байт, как одна перестановка полей экономит треть памяти, и во сколько раз поиск в телефонной книге по фамилии медленнее поиска по номеру.

Название:

C++: Структуры и объединения | Лекция 3 | ИТМО, ФИТИП

Категория:

Разное