Anton
Смотри ещё ответ Витторио https://stackoverflow.com/a/40840786
Alexey
(из стандарта 14.5.7.1)A template-declaration in which the declaration is an alias-declaration (Clause 7) declares the identifier to be a alias template. An alias template is a name for a family of types. The name of the alias template is a
template-name
Alexey
>An alias template is a name for a family of types.
Alexey
Мне как-то непонятно из стандарта новое семейство имен или нет.
Egor
А какое ещё может быть..?
Alexey
на stackoverflow пишут, что
"An alias is merely an alias, and does not introduce a new family of types"
Alexander "SonnySlave"
Alexander "SonnySlave"
Stanislav
Ioann_
Не могу утверждать наверняка, но похоже на багу Intel Compiler
Ioann_
https://godbolt.org/g/a1KyVr
Ioann_
Посмотрите на ASM код, у меня в интринсах - нету vaddpd, vmulpd инструкций, напротив - все сделано на FMA. А интел, почему то, именно при развороте цикла(без разворота - все ок), их накидал, при этом накидал он и FMA инструкции.
Ioann_
То ли дело GCC - код ровный, и хороший.
Ioann_
Еще один плюсик к карме GCC. Вообще, перенести б его на Win(без этих ваших МинГВ), хорошо было бы.
Anonymous
Anonymous
Везде, где одна микросекунда сделает всё намного хуже.
Ioann_
там где 1сек сделает хуже, это тебе надо в Сишечку и в Фортранчег
Ioann_
У C++, все же 5 микросекунд выйдет :)
Anonymous
Ну, если аккуратно и с умом писать, то нормально выйдет и на C++.
Anonymous
Я не говорю про "C с классами сейчас".
Dr. Friedrich
C с темплейтами!
Alexander "SonnySlave"
Ioann_
Не стану доказывать обратного, не стану - все же, можно сказать так: если взять идеальный сферический компилятор в вакууме, который прямо способен в C++ коде, все эти оптимизации, кеши сжать как надо, и еще где нужно префетч вставить и еще много всего, то да - на C++ можно, конечно же.
Alexander "SonnySlave"
на Си написано сразу быстро и шелковисто. На крестах пришлось тюнить
Ioann_
А еще Си код проще декомпилировать, нежели С++ код. Да :)
Alexander "SonnySlave"
ну так то и крестовая реализация подозреваю тоже с багами 😊
Alexander "SonnySlave"
ну ты сам видишь, зачем он написал именно свою реализацию, а не заюзал готовую
Stanislav
Anonymous
В итоге написал жесткий тест на аллокатор там, где его вообще не должно было быть.
Matwey
В бусте что-то готовое есть на эту тему
Matwey
Вроде бы
kitsu
Есть норм анлог std:includes для разных типов итерабельных элементов?
kitsu
aka: std::includes(v..,w, .., [](auto a, auto b) {f(a) == g(b)}), где f/g - не темплейтные/не перегруженные ф-ии
Ostap ꑭ
Через std::any & any_cast<>
Andrii
Почему функции НОД, НОК добавили только в 17 стандарте, а не намного раньше? Неужели они настолько непопулярны?
Berkus
Ostap ꑭ
Aidar
Matwey
Господа
Matwey
Мне тут потребовалось поковыряться в старом ядре, а оно не загружается. Вот два дня выяснял почему.
Хочу подарить эту интересную находку местной публике:
https://github.com/torvalds/linux/commit/455bd4c430b0c0a361f38e8658a0d6cb469942b5
Anton
🦥Alex Fails
Evgenii
интересно какой от нее профит
Matwey
у компилятора тараканов в голове больше, чем у девушки
Constantine
Constantine
И я виндоеб
🦥Alex Fails
Constantine
Но беркус гарантирует, что шланг лучший компилятор для плюсов
Constantine
А в чем проблема?
🦥Alex Fails
Что ядро на гцц-екстах
🦥Alex Fails
Вот проблема)
Constantine
Ну то есть у них легаси код под гцц)
🦥Alex Fails
Да ядро сплошное легаси какое-то😂
Matwey
У меня еще есть подобная находка где-то про ядро, но касательно поведения линковщика из binutils.
🦥Alex Fails
А кидай сюда) )
Matwey
Да я потерял где-то. Потом может найду
Evgenii
Evgenii
Constantine
std::clamp
The behavior is undefined if the value of lo is greater than hi
Constantine
ну почему, почему не implementation defined
Constantine
а еще нет inplace версии и параметр по cref, гениально
kitsu
Есть родительский класс, которий хранит в себе лямбду, с захватом this
Вылезают очевидные проблемы при копировании/муве
Можно ли как-нибудь решить это не меняя дочерних?
Constantine
?
Constantine
Если класс содержит self reference надо сразу CC/MC банить
kitsu
ленивость вычислений иначе не выйдет сделать
Constantine
не очень понимаю, как ленивость связана со временем жизни
kitsu
ну, не совсем так
kitsu
большая функция зависит от мелкой
Constantine
ну т.е. у меня сейчас бинды на this в дебаге обмазываются проверялкой, при этом хранилище ссылок проверялки просто не CopyConstructible/MoveConstructible