Size: a a a

2020 August 20

d

d7d1cd in pro.cxx
Nikitin Alexey
Вопрос по реализации - посмотреть как он устроен или про лицензирование - откуда взять существующую реализацию в свой проект?
Наверное оба этих вопроса. Мне сейчас важно определить, какая-нибудь реализация initializer_list скомпилится моим компилятором или нет...
источник

AT

Anatoly Tomilov in pro.cxx
d7d1cd
Наверное оба этих вопроса. Мне сейчас важно определить, какая-нибудь реализация initializer_list скомпилится моим компилятором или нет...
должна быть поддержка со стороны компилятора
источник

d

d7d1cd in pro.cxx
Anatoly Tomilov
должна быть поддержка со стороны компилятора
Вот мне бы это и проверить...
источник

AT

Anatoly Tomilov in pro.cxx
d7d1cd
Вот мне бы это и проверить...
а что за компилятор?
источник

CD

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

CD

Constantine Drozdov in pro.cxx
Это в реализации массив и не больше
источник

AT

Anatoly Tomilov in pro.cxx
да почему же сразу "нет"?
источник

d

d7d1cd in pro.cxx
Anatoly Tomilov
да почему же сразу "нет"?
Да, почему нет то?
источник

CD

Constantine Drozdov in pro.cxx
Anatoly Tomilov
да почему же сразу "нет"?
Потому что это std::array с уменьшенным интерфейсом
источник

N

Nikitin Alexey in pro.cxx
Anatoly Tomilov
да почему же сразу "нет"?
Наверное потому, что нужно будет этот initializer_list в namespace std помещать
источник

AT

Anatoly Tomilov in pro.cxx
я же могу древнюю libstdc++ прицепить к современному gcc
источник

AT

Anatoly Tomilov in pro.cxx
Nikitin Alexey
Наверное потому, что нужно будет этот initializer_list в namespace std помещать
не вижу противоречия или чего-то невозможного
источник

Я

Я Дима in pro.cxx
Объектная модель данных это когда переменные, функции и прочее содержаться строго в классе и описаны в заголовочном файле, а другие классы запрашивают эти данные через методы?
Или шо?
Курю гугол, понять не могу никак.
источник

CD

Constantine Drozdov in pro.cxx
Еще раз. Все фокусы std::initalizer_list находятся в разделах "требование к компилятору", без них это обычный массив
источник

AT

Anatoly Tomilov in pro.cxx
Nikitin Alexey
Наверное потому, что нужно будет этот initializer_list в namespace std помещать
в реализациях стандартной библиотеки так делают и это законно. Это не табу, писать свою)
источник

АК

Александр Караев... in pro.cxx
Nikitin Alexey
Наверное потому, что нужно будет этот initializer_list в namespace std помещать
потому что он не реализуется без поддержки компилятором
источник

АК

Александр Караев... in pro.cxx
как написал @webreh выше.

если компилятор не поддерживает эту сущность, то никак не сделать my::initializer_list<T>, который бы вёл себя как стандартный в кейсе:
struct A { A(my::initializer_list<int>); };
A{ 1, 2, 3 };
источник

AT

Anatoly Tomilov in pro.cxx
он хочет сделать std::initializer_list, няп
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
он хочет сделать std::initializer_list, няп
да хоть какой.
как компилятор поймёт, что A{ 1, 2, 3 } из моего примера выше должен быть эквивалентен A(initializer_list<int>{ 1, 2, 3 }) ? (забавно, но этот код рекурсивно требует конструктора initializer_list от init-braced-list)
источник

d

d7d1cd in pro.cxx
Александр Караев
да хоть какой.
как компилятор поймёт, что A{ 1, 2, 3 } из моего примера выше должен быть эквивалентен A(initializer_list<int>{ 1, 2, 3 }) ? (забавно, но этот код рекурсивно требует конструктора initializer_list от init-braced-list)
Какая возможность должна быть в компиляторе, чтобы он понял этот пример правильно? Можно ли как-то проверить наличие этой возможности на простом примере?
источник