Size: a a a

2020 May 25

MM

Mikhail Matrosov in pro.cxx
Я сегодня узнал, что T t = {}; - это НЕ zero-initialization
источник

MM

Mikhail Matrosov in pro.cxx
а как прошёл ваш день?
источник

Т

Тимур in pro.cxx
Mikhail Matrosov
а как прошёл ваш день?
Я вообще ничего не понял
источник

v

vehlwn in pro.cxx
Mikhail Matrosov
Я сегодня узнал, что T t = {}; - это НЕ zero-initialization
Ты проиграл с++17 инициализация бинго.
источник

AT

Andrew Titov in pro.cxx
Mikhail Matrosov
Я сегодня узнал, что T t = {}; - это НЕ zero-initialization
Это list initialization?
источник

MM

Mikhail Matrosov in pro.cxx
Andrew Titov
Это list initialization?
верно
источник

MM

Mikhail Matrosov in pro.cxx
но это порождает ещё больше вопросов ))
источник

v

vehlwn in pro.cxx
Mikhail Matrosov
Я сегодня узнал, что T t = {}; - это НЕ zero-initialization
Зависит если это агрегат или примитив.
источник

v

vehlwn in pro.cxx
Переслано от vehlwn
источник

v

vehlwn in pro.cxx
Вот все ответы на этот вопрос.
источник

IA

Igor Akhmetov in pro.cxx
С explicit можно сделать чтобы одна из деклараций давала ошибку - https://gcc.godbolt.org/z/cDTpu8
источник

v

vehlwn in pro.cxx
vehlwn
Зависит если это агрегат или примитив.
Выбери уровень сложности: ты уже агрегат или еще примитив?
источник

MM

Mikhail Matrosov in pro.cxx
Igor Akhmetov
С explicit можно сделать чтобы одна из деклараций давала ошибку - https://gcc.godbolt.org/z/cDTpu8
Огонь! Запостишь ответ? )
источник

IA

Igor Akhmetov in pro.cxx
T t2{}; не обязательно value initialization, если есть конструктор с initializer_list то это будет формально list initialization.
источник

IA

Igor Akhmetov in pro.cxx
Там уже напостили :)
источник

v

vehlwn in pro.cxx
Mikhail Matrosov
Огонь! Запостишь ответ? )
T t = T();
источник

v

vehlwn in pro.cxx
Igor Akhmetov
T t2{}; не обязательно value initialization, если есть конструктор с initializer_list то это будет формально list initialization.
Не будет. Я для кого видос скинул? Если есть дефолт ктор, выберется он. Иначе - стд инит лист.
источник

MM

Mikhail Matrosov in pro.cxx
Igor Akhmetov
T t2{}; не обязательно value initialization, если есть конструктор с initializer_list то это будет формально list initialization.
ну list initialization всё равно под капотом выберет value/default/zero/copy чё ещё там есть
источник

v

vehlwn in pro.cxx
Igor Akhmetov
T t2{}; не обязательно value initialization, если есть конструктор с initializer_list то это будет формально list initialization.
std::string as{}; это не ктор от пустого стд инит листа чаров.
источник

v

vehlwn in pro.cxx
Mikhail Matrosov
ну list initialization всё равно под капотом выберет value/default/zero/copy чё ещё там есть
Давайте следовать диаграмме. В бинго нет просто лист инициализации.
источник