Size: a a a

2020 August 03

D

Danya in pro.cxx
Vlad Serebrennikov
предположительно
как я написал дальше, концепты не инстанциируются, поэтому этот пункт на них не распространяется, наверное
Я просто не очень понимаю
Использование incomplete types в неконцептах в определении, которые до инстанциации шаблона становятся complete - ifndr? а как же two-phase name lookup?
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Ничего не понимаю -_-
если ты знаком с two-phase name lookup, то этот пункт требует, чтобы твой шаблон одинаково интерпретировался и в момент определения, и в момент инстанциации. как пример приводится non-dependent тип, который в момент определения неполный, а в момент инстанциации — полный
источник

D

Danya in pro.cxx
Vlad Serebrennikov
если ты знаком с two-phase name lookup, то этот пункт требует, чтобы твой шаблон одинаково интерпретировался и в момент определения, и в момент инстанциации. как пример приводится non-dependent тип, который в момент определения неполный, а в момент инстанциации — полный
То есть допускаются только dependent incomplete types?
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Я просто не очень понимаю
Использование incomplete types в неконцептах в определении, которые до инстанциации шаблона становятся complete - ifndr? а как же two-phase name lookup?
1. вероятно, мои рассуждения не распространяются на концепты, потому что они не инстанциируются

2. суть именно в том, что non-dependent неполный тип после определения шаблона становится полным. если он dependent или так и остается неполным, то проблем нет (предположительно)
источник

D

Danya in pro.cxx
Господи как сложно
источник

DF

Dollar Føølish in pro.cxx
Кек
источник

DF

Dollar Føølish in pro.cxx
Слава богу ещё тут люди есть которые растолковать эту сложность могут😊
источник

VS

Vlad Serebrennikov in pro.cxx
чтоб я сам еще был уверен, что все правильно понял и ничего не упустил
источник

AF

Aidar Fattakhov in pro.cxx
Aidar Fattakhov
Я про то что non dependent неполный тип не уб без odr use
.
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Господи как сложно
Да, эти forward declarations это неплохой источник ODR violation
источник

D

Danya in pro.cxx
Побитый Кирпич
Да, эти forward declarations это неплохой источник ODR violation
Как же декларации являются источником ODR violation?
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Как же декларации являются источником ODR violation?
В связке с шаблонами
источник

DF

Dollar Føølish in pro.cxx
++
источник

D

Danya in pro.cxx
Побитый Кирпич
В связке с шаблонами
Можно примерчик?
источник

ПК

Побитый Кирпич... in pro.cxx
в нешаблонном коде всё норм, но в С++ сейчас мета такая на шаблонный код
источник

m

magras in pro.cxx
magras
А нельзя написать обертку над стандартным аллокатором, который в конструторе будет выделять память и возвращать при первом вызове allocate?
Такой подход не сработает из-за того, что аллокатор не может сказать, что выделил больше чем его просили.
источник

AD

Apache DOG™ in pro.cxx
Mikhail Voronov
ну вообще это вроде известный факт, что для конкретной задачи можно написать более специализированную версию чего-то бы то не было, что будет быстрее generic варианта
и зачем эти перфы в вакууме тогда?
источник

m

magras in pro.cxx
Apache DOG™
и зачем эти перфы в вакууме тогда?
Потому что даже дженерик вариант на плюсах, обычно будет на порядки быстрее не нативных языков. Оптимизации под конкретную задачу нужны только если этого не достаточно.
источник

AD

Apache DOG™ in pro.cxx
magras
Потому что даже дженерик вариант на плюсах, обычно будет на порядки быстрее не нативных языков. Оптимизации под конкретную задачу нужны только если этого не достаточно.
вот я видел сравнения где С и хаскель отличаются только в 8 раз, а джавка всего лишь в 3
источник

AD

Apache DOG™ in pro.cxx
Где тут порядки?
источник