Stanislav
Aidar
вакансии с фрилансами мешать?
Stanislav
но 95% не читают правила
Aidar
Vladislav
https://godbolt.org/g/6yUVzF
Ivan
Vladislav
я знал что вам понравится)
Ivan
http://cpp.sh/2zby6 оно печатает 42
Vladislav
https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
Vladislav
и сlang их тоже поддерживает, но доков я не нашел
Ivan
Это не стандарт? Можно выдохнуть)
Nikita
Stanislav
Vitaliy ◀️TriΔng3l▶️
Vladislav
теперь когда растовики будут ею хвастаться, можно смело говорить что в плюсах тоже есть
Vladislav
Vladislav
но для этого уже надо включить -fblocks
Vitaliy ◀️TriΔng3l▶️
Generic min/max с однократным раскрытием аргументов всё равно не сделать на C(((
Vitaliy ◀️TriΔng3l▶️
Разве что если явно тип передавать только, но это некрасиво
Stanislav
ну привет, все довольны и радуются от гсс екстеншенов но никто msvc екстеншены
Stanislav
что за дискриминация
Vladislav
Ivan
Stanislav
Vladislav
охуительный способ отстрелить себе ногу https://godbolt.org/g/oLSeJj
Vladislav
вот отсюда http://blog.robertelder.org/switch-statements-statement-expressions/
Stanislav
это ж как надо упороться чтоб такое написать f(i + ({case 0:; 1;}) + i);
Vladislav
Vladislav
https://godbolt.org/g/5Cm9s5
Stanislav
Vladislav
не я же, ну - из статьи пример)
Vladislav
а в прошлый раз я не специально - честно) оно само сломалось
Stanislav
ну вот так всегда
Aladin
привет всем. нужен кто-то кто сможет помочь с одним вопросом.
есть одна программа на которой я работаю. нужно поменять interface только. а принцип роботы так и оставить. могу предоставить new interface как он должен выглядеть.
я надеюсь что кто-то понял о чем я говорю. если есть кто-то, пишите в ЛС. все объясню. спс. and have a good day.
ed
Лол, мы надеемся ты сам понял о чём сказал
PRoSToC0der
у кого-нибудь есть идеи почему operator= и emplace у std::variant не constexpr?
blow
Alexander "SonnySlave"
Vladislav
хм, а как оператор присваивания может быть constexpr?
PRoSToC0der
просто пытаюсь сделать constexpr конечный автомат на std::variant и споткнулся об это
Nikita
Alexander "SonnySlave"
constexpr может быть даже небо, даже аллах
ed
Аллах только constexpr и может..
ed
Так этож они сами так говорят.. никаких оскорблений
Maksim
Добрый день. Подскажите, пожалуйста, почему, например, Qt не использует в своих интерфейсах fixed width integer types (http://en.cppreference.com/w/cpp/types/integer)? То есть, например, конструктор QRect (http://doc.qt.io/qt-5/qrect.html) у них принимает 4 int значения, и хранит их в виде четырёх int, а при сериализации внутри кастует в зависимости от версии либо к qint16, либо к qint32 (https://github.com/qt/qt/blob/0a2f2382541424726168804be2c90b91381608c6/src/corelib/tools/qrect.cpp#L1278). Этому вообще есть какие-нибудь причины? Что-то историческое? Стоит ли вообще использовать fixed width integer types по возможности где только можно? У нас в проекте много чего сериализуется, мы дорожим обратной совместимостью и не хотим ломать формат.
Egor
Добрый день. Подскажите, пожалуйста, почему, например, Qt не использует в своих интерфейсах fixed width integer types (http://en.cppreference.com/w/cpp/types/integer)? То есть, например, конструктор QRect (http://doc.qt.io/qt-5/qrect.html) у них принимает 4 int значения, и хранит их в виде четырёх int, а при сериализации внутри кастует в зависимости от версии либо к qint16, либо к qint32 (https://github.com/qt/qt/blob/0a2f2382541424726168804be2c90b91381608c6/src/corelib/tools/qrect.cpp#L1278). Этому вообще есть какие-нибудь причины? Что-то историческое? Стоит ли вообще использовать fixed width integer types по возможности где только можно? У нас в проекте много чего сериализуется, мы дорожим обратной совместимостью и не хотим ломать формат.
Привет. По моему мнению, лучше всегда использовать платформонезависимые типы из cstdint
Maksim
Можно пример?
Maksim
Кстати, всё-таки кое-где использует http://doc.qt.io/qt-5/qaudioformat.html. Но не везде. Только в новых функциях, чтобы не ломать интерфейс, видимо. Например, в 4.8 ещё нет http://doc.qt.io/archives/qt-4.8/qaudioformat.html
Maksim
Но, я так понимаю, предпочтительно использовать, так?
Alexander
если что Qt старается сохранять бинарную совместимость, т.е. любой бинарник скомпилированный под 5.0 должен работать с любыми либами 5.* версии
Oleg
Нет
Oleg
Там даже миноры ломают все
Oleg
И тебе при запуске выдает бла-бла-бла либ версион мисматч
Alexander
ну, я не знаю насколько это хорошо выходит 😊 Но размеры обьектов они принципиально не меняют например
Nikita
Работает ли SFINAE для deduction guides?
Если у меня есть такие вот правила:
template<typename Arg>
MyClass(Arg&&) -> ...
template<typename Arg>
MyClass(Arg&&) -> ...Если то, что написано справа от стрелки в одном случае будет корректным, а во втором - нет (или наоборот), то будут ли такие правила вывода корректными?
Например:
template<typename Arg>
MyClass(Arg&&) -> MyClass<enable_if_t<is_integral<Arg>::value, int>;
template<typename Arg>
MyClass(Arg&&) -> MyClass<enable_if_t<!is_integral<Arg>::value, double>;
Matwey
Matwey
А как на самом деле - я не знаю
Nikita
ну вот у меня на gcc и clang тоже работает
Nikita
но msvc ругается
Nikita
two deduction guide declarations for the same class template cannot have equivalent parameter list