Size: a a a

2021 May 27

Т8

Т-34 85 in dlang.ru
Тогда почему ОБЯЗАТЕЛЬНО надо указывать?

А я тебе скажу почему. Потому что иначе придётся либо вообще всю информацию о типе терять в самом дженерике, либо инстанцировать (и это уже станет темплейтом)
источник

0

000Sanya in dlang.ru
Потому что если не указывать, мы получим плюсы, которые в тебя плюнут ошибкой из стд с непонятным _T1 нельзя сложить с _T2

А инстанциирование к этому отношения не имеет
источник

0

000Sanya in dlang.ru
where это просто ограничение на тип
источник

0

000Sanya in dlang.ru
будь это стирание - в том же шарпе я бы не смог typeof(T) сделать
источник

0

000Sanya in dlang.ru
а насколько помню я это могу
источник

Т8

Т-34 85 in dlang.ru
И что? Дай возможность и так сделать, и так. Какие проблемы? В крестах так и поступили
источник

Т8

Т-34 85 in dlang.ru
Что такое typeof()? Рантаймовская штука?
источник

0

000Sanya in dlang.ru
в крестах не было возможности наложить ограничения
источник

0

000Sanya in dlang.ru
до 20 версии
источник

0

000Sanya in dlang.ru
и извращались самими шаблонами чтобы ограничить шаблоны
источник

Т8

Т-34 85 in dlang.ru
Не отвлекайся от темы
источник

0

000Sanya in dlang.ru
не смотрел что это после компиляции, но она возвращает Type переданного в нее типа
источник

0

000Sanya in dlang.ru
именно что не переменной
источник

0

000Sanya in dlang.ru
а типа
источник

Т8

Т-34 85 in dlang.ru
Ну она в рантайме работает, да?
источник

0

000Sanya in dlang.ru
в плане в рантайме?
источник

Т8

Т-34 85 in dlang.ru
Ну результат её работы во время компиляции не получишь
источник

0

000Sanya in dlang.ru
а смысл?
источник

Т8

Т-34 85 in dlang.ru
Так надо. Так получишь или не получишь? Правильно, не получишь. Потому что это не компайлтайм. А компайлтайм невозможно сделать, потому что в дженерике тип уже затёрт
источник

0

000Sanya in dlang.ru
да это не затирание
источник