Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpIzNs 376 of 696 menu
◀ ▶

Вложенные инициализаторы в C++

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

Внешняя запись называет поле, внутренняя - поля вложенного типа в порядке их объявления. Запишем коробку с меткой и выведем идентификатор из вложенной части:

#include <iostream> struct Tag { int id; }; struct Crate { Tag label; int weight; }; int main() { Crate box{.label = {.id = 7}, .weight = 40}; std::cout << box.label.id << "\n"; return 0; }

Компилятор собирает один объект Crate из двух уровней инициализации. Порядок полей label и weight в типе сохраняется и во внешнем списке.

Объявите struct Head с полем code, затем struct Row с полями head и value. Создайте Row через вложенный инициализатор и выведите code.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить