Size: a a a

2020 August 20

AT

Anatoly Tomilov in pro.cxx
Александр Караев
@tomilovanatoliy
как должна работать эта конструкция с точки зрения компилятора?
это всё содержимое cpp файла?
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
это всё содержимое cpp файла?
да
источник

CD

Constantine Drozdov in pro.cxx
__сxx11_initializer_list? :)))
источник

AT

Anatoly Tomilov in pro.cxx
я в точности не помню. В отсутствии определения класса std::initializer_list должна быть hard error
источник

АК

Александр Караев... in pro.cxx
<source>:1:20: error: deducing from brace-enclosed initializer list requires '#include <initializer_list>'
 +++ |+#include <initializer_list>
   1 | auto a = { 1, 2, 3 };


вот, что говорит gcc-10, например
источник

AT

Anatoly Tomilov in pro.cxx
Александр Караев
<source>:1:20: error: deducing from brace-enclosed initializer list requires '#include <initializer_list>'
 +++ |+#include <initializer_list>
   1 | auto a = { 1, 2, 3 };


вот, что говорит gcc-10, например
ожидаемо. К чему это всё?
источник

CD

Constantine Drozdov in pro.cxx
ну насколько я понимаю, там штука в духе __сxx11_initializer_list зашитая в компилер, которая видимо потом мапится на std::initializer_list
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
ожидаемо. К чему это всё?
это аргумент к тому, что компилятор очень жёстко связан с std::initializer_list
источник

AT

Anatoly Tomilov in pro.cxx
Александр Караев
это аргумент к тому, что компилятор очень жёстко связан с std::initializer_list
я в курсе
источник

AT

Anatoly Tomilov in pro.cxx
мой пример со старой, кроме единственного хедера, стандартной библиотекой непонятен?
источник

AT

Anatoly Tomilov in pro.cxx
у меня такое ощущение, что вы навязываете мне мысль. что в определение UB как-то включён пункт "и тот, кто добавил в std:: какое-либо имя, должен быть действительным членом команды разработки какой-либо стандартной библиотеки".
источник

CD

Constantine Drozdov in pro.cxx
Anatoly Tomilov
мой пример со старой, кроме единственного хедера, стандартной библиотекой непонятен?
каким образом компилятор обнаруживает std::initializer_list?
источник

AT

Anatoly Tomilov in pro.cxx
где реестр этих команд? Тоже в стандарте прописан?
источник

CD

Constantine Drozdov in pro.cxx
Anatoly Tomilov
у меня такое ощущение, что вы навязываете мне мысль. что в определение UB как-то включён пункт "и тот, кто добавил в std:: какое-либо имя, должен быть действительным членом команды разработки какой-либо стандартной библиотеки".
нет, мысль "для разработчиков компиляторов нет UB"
источник

AT

Anatoly Tomilov in pro.cxx
Constantine Drozdov
каким образом компилятор обнаруживает std::initializer_list?
да хоть каким). Деталь реализации
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
у меня такое ощущение, что вы навязываете мне мысль. что в определение UB как-то включён пункт "и тот, кто добавил в std:: какое-либо имя, должен быть действительным членом команды разработки какой-либо стандартной библиотеки".
я вот навязываю лишь то, что толковать UB - UB.
here we go again..
источник

CD

Constantine Drozdov in pro.cxx
Anatoly Tomilov
да хоть каким). Деталь реализации
почему эта деталь реализации не ломается копированием файла?
источник

AT

Anatoly Tomilov in pro.cxx
Constantine Drozdov
нет, мысль "для разработчиков компиляторов нет UB"
я именую себя разработчиком компиляторов. И всех вас. Всё? Вопрос исчерпан? Или где-то должен быть C++-аналог Папы Римского, кто будет делигировать право называться "разработчиком компиляторов"?
источник

AK

Andrei K in pro.cxx
Напомните, с чего срач начался?
источник

AT

Anatoly Tomilov in pro.cxx
Constantine Drozdov
почему эта деталь реализации не ломается копированием файла?
как раз этот вопрос — это мой аргумент). Почему?)
источник