TGViewer
Программирование {BookFlow} Программирование {BookFlow} @bookflow · 15.6K subscribers
Post #3637 1.54K
Что такое Uniform initialization? Aggregate initialization?

Uniform initialization, введенная в C++11, позволяет использовать единый синтаксис для инициализации переменных и объектов, начиная от примитивных типов до агрегатов¹. Другими словами, она вводит инициализацию скобками, которая использует фигурные скобки {} для заключения значений инициализатора. Синтаксис выглядит следующим образом: type var_name {arg1, arg2, ....arg n}.

Aggregate initialization - это форма инициализации списком для массивов или типов класса (часто структур или объединений), которые имеют: нет приватных или защищенных членов, нет пользовательских конструкторов, кроме явно заданных или удаленных конструкторов . Это позволяет напрямую инициализировать элементы агрегатов. Для этого мы предоставляем список инициализаторов в качестве инициализатора, который представляет собой список значений, разделенных запятыми.

Например, если у вас есть структура с несколькими членами:
struct Employee {
int id {};
int age {};
double wage {};
};


Когда мы определяем объект с типом структуры, нам нужен способ инициализации нескольких членов во время инициализации:
Employee joe; // как мы инициализируем joe.id, joe.age и joe.wage?

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


#cpp@bookflow

👉 @Bookflow
  • 👍 3
More from @bookflow
  1. Oct 16, 2026Как работает DNS 1. Пользователь вводит домен: bytebytego.com 2. Поиск в кэше (браузер/ОС)…
  2. Oct 13, 2026Полезные команды PowerShell для работы с сетью 1. Проверка сетевого подключения (аналог ко…
  3. Oct 5, 2026🖼 Из картинки - в 3D-сцену со звуком: image-blaster Загружаешь изображение, запускаешь Cl…
  4. Oct 2, 2026xdg-ninja — это полезный инструмент для программистов и пользователей Linux, который помог…
  5. Sep 29, 2026🔐 Путеводитель по аутентификации: от Cookies до OAuth 2.0 Разбираться в способах входа по…
  6. Sep 24, 2026Работа с HTTP API (на практике) Подготовил мини-серию из пары десятков практических задани…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →