Matwey
А если нет, то там есть целая пачка инструкций ассемблерных для перевода туда сюда.
Evgenii
Ioann_
Я больше соглашусь с Матвеем - так как, это логично звучит, да и команды такие я встречал и в SIMD в т.ч
Ioann_
Вот если бы экспоненты у флоата и дабла были одной длины .... И мантисы под выравниваение попадали ...
Matwey
CVT*
Matwey
Мантисы и экспоненты разной длины. Совершенно точно
Ioann_
Ну это да, увы :( Так бы просто добавил 4 байтика и дело в шляпе - то есть просто в xmm
Matwey
http://www.felixcloutier.com/x86/CVTSS2SD.html
Matwey
Я тут буквально три недели назад погорел на том, что существует инструкция для пакетного преобразования 32-битных целых во float-ы. А для 16-битных нету пакетной инструкции :(
Ioann_
Да, меня больше забавляет long double - у MSVC он равенобычному даблу, а у GCC и Интела - юзает только 80 бит !
Ioann_
А не 128 как можно было бы ожидать :)
Ioann_
Matwey
Matwey
Крылатый
Ой вей! https://www.reddit.com/r/cpp/comments/6qphdf/stdoptional_view/
Anonymous
Привет парни. Если кто может, скиньте какую-нибудь библиотеку для работы с ВК API
Matwey
Polina
Что нового в С++17 посравнению с С++11?
vladislav
а С++14 куда пропал?
vladislav
@polinahr https://habrahabr.ru/company/yandex/blog/323972/
vladislav
больших изменений в языке не было.
Polina
vladislav
@polinahr тут подробнее https://isocpp.org/files/papers/p0636r0.html
Stanislav
есть более кошерная ссылка
Stanislav
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0636r1.html
Stanislav
Polina
Чтобы обидно не было пошла читать и ту и другую
cyberzx 🇷🇺
С++11 текущая, сейчас переходим на С++17 есть ли смысл
Напишу лично для меня важные изменния. Для начала С++11 -> C++14
Вот на вскидку
- нормальные constexpr функцих ограничений на один return и отсутсвие циклов
- инициализация захватываемых переменных в лямбдах. теперь можно в лямбду перемещать переменные используя std::move, а значит и захватывать некопируемые переменные
- return type deduction. теперь в сигнатуре функции может быть auto в качестве возвращаемого значения. auto foo() { return 15; }
тип автоматически выведится. очень сильно помогает писать обобщённый код
cyberzx 🇷🇺
А так же делать higher-order функции, которые генерируют лямбды. в С++11 с этим были проблемы
cyberzx 🇷🇺
- Появились обобщённые лямбды, принимающие в качестве параметров auto.
[] (auto x, auto y) { return x + y; }
Хотя лично я этим редко пользуюсь
Stanislav
ну такой фикс С++11 вышел, С++17 повкуснее
Ioann_
Почему сейчас не стоит переходить на 17 плюсы:
1. Многие и на старых плюсах программируют не очень
2. Нужен спец в команду кто хорошо их знает, так как вещь новая, то выльется в доп. траты
3. Придется поднимать зарплату другим сотрудникам, как мотиватор лучше осваивать новый стандарт
4. Нет, ну вы только посмотрите на пункт 1 - я серьезно, даже сеньоры, так себе это делают.
cyberzx 🇷🇺
С++14 -> C++17
- template argument deduction for class templates
тут просто. std::pair p(1, "one"); вместо std::pair<int, const char*> p(1, "one');
- folding expressions. свёртка для вариадиков. тоже полезная штука
template<typename Args...>
auto sum(Args... args)
{
return args + ... + args;
}
- constexpr лямбды
- inline переменны
- гарантированное copy ellision! (крутая фича)
- if constexpr (тоже крутая фича :)
Ioann_
5. Так как стандарт новый, много багов в компиляторах, а самое главное то, как это оптимизируется.
Ioann_
.Тьфу, не то вставил
Ioann_
ой, все
Polina
Ioann_
Обычно, доводы которые программисты приводят на новый стандарт - мелочны. И называть это полным переходом на новый стандарт - язык не повернется: пару фич и все. Ну, у меня так. И не едижды, и не в одном месте.
cyberzx 🇷🇺
Мы в команде с переходом на С++14 смогли довольно быстро релизовать DSL (для парадигмы ECS), который на C++03 было сделать куда сложнее
Anonymous
cyberzx 🇷🇺
Так что ваш аргумент очень странный. У нас в руках появился мощный инструмент и мы должны отказаться от него? Ради чего? Из-за того, что есть те, кому лень прочитать пару статей в интернете и покопаться в cppreference? А зачем такие люди в команде?
Ioann_
Anonymous
cyberzx 🇷🇺
Berkus
Олександр
Олександр
Лол
Ioann_
Ну то, что разработка не должна превращаться в массовое заучивание стандарта. Ну мое видение именно такое. И у меня была возможность все это испытывать и на окружающих и на себе.
Олександр
Я, конечно, студент, но плюсы вроде как обратно совместимы, и переписывать все вокруг на новый стандарт заставлять не надо. А вот фичи использовать - почему нет?
Ivan
Мне не очень нравится только то, что в параметры шаблона для контейнера не нужно писать типы. Отладка станет тяжелее
cyberzx 🇷🇺
cyberzx 🇷🇺
Профессионалы должны уметь осваивать новые технологии. Если, конечно, ваша работа не заключается в поддержке говна мамонта построенного из костылей. Тогда сочувствую
Stanislav
Stanislav
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71367
Stanislav
так что это не повод
Berkus
Berkus
называется такая штука
Pavel
Значит это фича:)
Олександр
Ещё стандарты какие-то учить, на крестах писать, нунаф
Stanislav
лучше каждые шесть недель обновлять код под новую версию раста :)
Polina
Олександр
😂
Ioann_
Олександр
Так он ещё только-только приготовился
Ioann_
Stanislav
чето помойму уже в холивар скатываетесь
cyberzx 🇷🇺
Наши джуны всё схватывают на лету и умеют осваивать новые технологии
cyberzx 🇷🇺
А если джун не такой, то гнать его надо в универ.
vladislav
vladislav
?
Ioann_
Нашел куда гнать. В универах сегодня еле 03 дают. И тот через шаг.