С++ можно определить значение ПРИМИТИВНОЙ переменной каким-нибудь выражением например int i = 10; Но если нам еще с СИ вдалбливали в башку что int это примитивный тип то как для него можно вызвать конструктор? int i{1-} возможен. Получается int это все таки составной объект со своими перегруженными операторами или все таки примитивный тип просто в порядке исключения для примитивов можно вызвать какой-то фантомный конструктор?
C++ ≠ C
Это не совсем конструктор, это такая форма инициализации, имитирующая синтаксис конструктора. Она нужна в основном чтобы шаблонный код можно было писать универсально для встроенных типов и классов
https://en.cppreference.com/w/cpp/language/constructor
Т.е. принять на веру как форму записи? Что есть такая интерпритация и жить спокойно
https://en.cppreference.com/w/cpp/language/aggregate_initialization ?
Вот да, в конце мысль светлая, правильная.
Тут конкретно вообще это инициализация с инициализатором, никаких конструкторов. Но можно было бы так делать: auto val = int(42);
Обсуждают сегодня