Matwey
А если нет, то там есть целая пачка инструкций ассемблерных для перевода туда сюда.
Ioann_
Я больше соглашусь с Матвеем - так как, это логично звучит, да и команды такие я встречал и в SIMD в т.ч
Ioann_
Вот если бы экспоненты у флоата и дабла были одной длины .... И мантисы под выравниваение попадали ...
Matwey
CVT*
Matwey
Мантисы и экспоненты разной длины. Совершенно точно
Ioann_
Ну это да, увы :( Так бы просто добавил 4 байтика и дело в шляпе - то есть просто в xmm
Matwey
http://www.felixcloutier.com/x86/CVTSS2SD.html
Matwey
Я тут буквально три недели назад погорел на том, что существует инструкция для пакетного преобразования 32-битных целых во float-ы. А для 16-битных нету пакетной инструкции :(
Matwey
Ну это да, увы :( Так бы просто добавил 4 байтика и дело в шляпе - то есть просто в xmm
На мой взгляд это было бы по меньшей мере странно. Размер мантиссы отвечает за относительную точность задания числа, а размер экспоненты за интервал чисел, которые можно задать. Логично, что если я перехожу от 4 байт к 8 байтам, я бы хотел, чтобы у меня одновременно стало и по точнее, и чисел побольше.
Ioann_
Да, меня больше забавляет long double - у MSVC он равенобычному даблу, а у GCC и Интела - юзает только 80 бит !
Ioann_
А не 128 как можно было бы ожидать :)
Matwey
А в SSE разве тоже нету ?
В SSE и нету как раз
Matwey
Да, меня больше забавляет long double - у MSVC он равенобычному даблу, а у GCC и Интела - юзает только 80 бит !
если правильно помню, то 80 бит - это размер аккумулятора для операций с плавающей точкой на 32-битных x86.
Крылатый
Ой вей! https://www.reddit.com/r/cpp/comments/6qphdf/stdoptional_view/
Anonymous
Привет парни. Если кто может, скиньте какую-нибудь библиотеку для работы с ВК API
ГуНиСе️
Anonymous
Почему на c++? На питоне тьма их
Именно потому, что я пишу на С++
Polina
Что нового в С++17 посравнению с С++11?
vladislav
а С++14 куда пропал?
vladislav
@polinahr https://habrahabr.ru/company/yandex/blog/323972/
Polina
а С++14 куда пропал?
С++11 текущая, сейчас переходим на С++17 есть ли смысл
vladislav
больших изменений в языке не было.
vladislav
@polinahr тут подробнее https://isocpp.org/files/papers/p0636r0.html
Stanislav
есть более кошерная ссылка
Stanislav
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0636r1.html
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_
ой, все
Ioann_
Обычно, доводы которые программисты приводят на новый стандарт - мелочны. И называть это полным переходом на новый стандарт - язык не повернется: пару фич и все. Ну, у меня так. И не едижды, и не в одном месте.
cyberzx 🇷🇺
Мы в команде с переходом на С++14 смогли довольно быстро релизовать DSL (для парадигмы ECS), который на C++03 было сделать куда сложнее
cyberzx 🇷🇺
Так что ваш аргумент очень странный. У нас в руках появился мощный инструмент и мы должны отказаться от него? Ради чего? Из-за того, что есть те, кому лень прочитать пару статей в интернете и покопаться в cppreference? А зачем такие люди в команде?
Ioann_
Мы в команде с переходом на С++14 смогли довольно быстро релизовать DSL (для парадигмы ECS), который на C++03 было сделать куда сложнее
Ну так вы явно не весь функционал из 14 взяли. Даже больше - он не весь и не полный в компиляторах, ну то есть бажный.
Олександр
Лол
Ioann_
Ну то, что разработка не должна превращаться в массовое заучивание стандарта. Ну мое видение именно такое. И у меня была возможность все это испытывать и на окружающих и на себе.
Олександр
Я, конечно, студент, но плюсы вроде как обратно совместимы, и переписывать все вокруг на новый стандарт заставлять не надо. А вот фичи использовать - почему нет?
Ivan
Мне не очень нравится только то, что в параметры шаблона для контейнера не нужно писать типы. Отладка станет тяжелее
cyberzx 🇷🇺
Ну то, что разработка не должна превращаться в массовое заучивание стандарта. Ну мое видение именно такое. И у меня была возможность все это испытывать и на окружающих и на себе.
Ну вот захотели мы заюзать новое API для 3д графики Vulkan. Но это тоже подпадает под все пункты, почему его нельзя использовать. И что отказываться?
cyberzx 🇷🇺
Профессионалы должны уметь осваивать новые технологии. Если, конечно, ваша работа не заключается в поддержке говна мамонта построенного из костылей. Тогда сочувствую
Stanislav
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71367
Stanislav
так что это не повод
Berkus
называется такая штука
Олександр
так что это не повод
Нет софта без багов)
Pavel
Нет софта без багов)
Нет софта - нет багов
Олександр
Нет софта - нет багов
Есть баг - софта нет))
Pavel
Значит это фича:)
Олександр
Ещё стандарты какие-то учить, на крестах писать, нунаф
Stanislav
лучше каждые шесть недель обновлять код под новую версию раста :)
Олександр
😂
Ioann_
Я, конечно, студент, но плюсы вроде как обратно совместимы, и переписывать все вокруг на новый стандарт заставлять не надо. А вот фичи использовать - почему нет?
Фичи использовать - я за. Да. Но это не полный переход на 17 стандарт. Полным назовем ту ситуацию когда на собесе тебя опрашивают именно по 17 плюсам.
Олександр
Так он ещё только-только приготовился
Stanislav
чето помойму уже в холивар скатываетесь
Ioann_
Так он ещё только-только приготовился
Ну так я потому и оформил свое мнение. Но например в сипровер спрашивают и такое, но и платят соотв.
cyberzx 🇷🇺
Наши джуны всё схватывают на лету и умеют осваивать новые технологии
cyberzx 🇷🇺
А если джун не такой, то гнать его надо в универ.
vladislav
?
Ioann_
Нашел куда гнать. В универах сегодня еле 03 дают. И тот через шаг.
cyberzx 🇷🇺
Ну так я потому и оформил свое мнение. Но например в сипровер спрашивают и такое, но и платят соотв.
Вообще человек спросил какие новые фичи в С++17 появились со времнёс С++11. Я хотел обсудить эту интересную тему. Но ты зачем то отвлёк разговор на тему С++17 не нужен