Я разрабатываю собственную операционную систему и дошел до того, что мне нужно портировать на нее стандартную библиотеку C++. Я уже перенес большинство компонентов, включая управление памятью и связанные с ним функции.
Мой вопрос: как мне портировать std::initializer_list? В частности, меня интересуют детали реализации списков инициализаторов, заключенных в фигурные скобки, используемых для инициализации контейнеров, таких как std::vector и других классов.
Что мне нужно, так это объяснение того, как работает std::initializer_list: как он может принимать произвольное количество аргументов без явно указанного размера и почему использующие его конструкторы могут быть инициализированы с помощью { вместо ()?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/798 ... rd-library
Мобильная версия