Size: a a a

2020 August 20

d

d7d1cd in pro.cxx
В STLPort вроде нет initializer_list...
источник

AK

Andrei K in pro.cxx
Но вообще вопрос интересный, да. Каким образом компилятор трасформирует фигурные скобки именно в вызов std::initializer_list, и что будет если подставить свою имплементацию.
источник

CD

Constantine Drozdov in pro.cxx
Andrei K
Если человек смог такое провернуть, сомневаюсь, что он бы спрашивал про initialiser_list в таком случае xD
Скорее как запатчить кде2 под фряху?
источник

CD

Constantine Drozdov in pro.cxx
Andrei K
Но вообще вопрос интересный, да. Каким образом компилятор трасформирует фигурные скобки именно в вызов std::initializer_list, и что будет если подставить свою имплементацию.
Голосую за __cxx11_initializer_list
источник

CD

Constantine Drozdov in pro.cxx
Для которого определена трансформация в std::initializer_list хардкодненько как-нибудь
источник

AT

Anatoly Tomilov in pro.cxx
Constantine Drozdov
Голосую за __cxx11_initializer_list
а это не дефайн чтобы чекать наличие фичи?
источник

D

Danya in pro.cxx
Anatoly Tomilov
а это не дефайн чтобы чекать наличие фичи?
Не, такой дефайн будет что-то типа __cpp_initializer_list
источник

AK

Andrei K in pro.cxx
Интересно, что с 17-го стандарта, если ты написал свою явную специализацию std::initializer_list, то программа счиатется ill-formed
источник

CD

Constantine Drozdov in pro.cxx
Andrei K
Интересно, что с 17-го стандарта, если ты написал свою явную специализацию std::initializer_list, то программа счиатется ill-formed
Понятно что может быть плохо, там вроде lifetime extension про него описан. Сам класс это же урезанный span
источник

AK

Andrei K in pro.cxx
Constantine Drozdov
Понятно что может быть плохо, там вроде lifetime extension про него описан. Сам класс это же урезанный span
А он разве не владеет своими элементами?
источник

AK

Andrei K in pro.cxx
Если нет, что что у них за сторидж спесифаер?
источник

CD

Constantine Drozdov in pro.cxx
Andrei K
А он разве не владеет своими элементами?
Нет, и это известный design flaw, ты обязан из него копировать
источник

CD

Constantine Drozdov in pro.cxx
Надо отдельный make vector писать для некопируемых
источник

AK

Andrei K in pro.cxx
А, об это бился головой, да. Но я связывал это с тем, что там просто у объектов статический сторедж. А не с тем, что это к листу такое требование.
источник

CD

Constantine Drozdov in pro.cxx
Andrei K
А, об это бился головой, да. Но я связывал это с тем, что там просто у объектов статический сторедж. А не с тем, что это к листу такое требование.
Там просто интерфейс дай cref, изначально это видимо дизайнили до цпп11 перемещений и подумали клево разместить в конст память
источник

CD

Constantine Drozdov in pro.cxx
Вообще unique_initializer_list нужен, но это придется кодить
источник

o

osm1um in pro.cxx
Constantine Drozdov
Вообще unique_initializer_list нужен, но это придется кодить
А это самому накодить получится?
источник

CD

Constantine Drozdov in pro.cxx
osm1um
А это самому накодить получится?
Нет
источник

o

osm1um in pro.cxx
🗿
источник

IZ

Ilia Zviagin in pro.cxx
d7d1cd
Подскажите, если у меня в моей стандартной не-до С++11 библиотеке нет initializer_list, то могу ли я взять где-то его реализацию и использовать?
Нет, только другой компилятор установить
источник