1. C++ / Говнокод #25989

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // This concept tests whether 't + u' is a valid expression
    template<typename T, typename U>
    concept can_add = requires(T t, U u) { t + u; };
     
    // The function is only a viable candidate if 't + u' is a valid expression
    template<typename T, typename U> requires can_add<T, U>
    auto add(T t, U u)
    {
     return t + u;
    }

    ого чо есть

    Запостил: MAPTbIwKA, 24 Октября 2019

    Комментарии (9) RSS

    • конь-цепты
      Ответить
    • да
      остальным языкам да плюсов как учителю информтики до Кнута
      Ответить
    • И нахуй это надо? А как без них это делается?
      Ответить
      • Не, я понимаю нахуй это надо. Это читаемеее, чем ебаный «SFINAE». Но старый способ наверняка не удалили, а следовательно мы имеем ещё больше крестоговна.
        Ответить
        • Как ни странно, тут тоже используется SFINAE. Но requires действительно удобнее и логичнее нежели рулонная магия std::enable_if
          Ответить
    • На cppreference поинтереснее примеры.

      Но я правильно понимаю, что это не более чем попытка помочь компилятору соскрести мозги с плитки?
      Ответить
      • Животное, достаточно! Несёшь херню.

        Твои питушиные мозги бы кто соскрёб. Не знаешь матчасти - не пытайся показаться умным, питушочек.
        Ответить
      • На всякий случай напоминаю тебе, что отвечать безграмотному уёбку, который косит под superkiller1997, не нужно
        Ответить
      • Это красивая замена свиной. Я знаю только один момент, где концепты не заменить свиной - их можно применять к деструкторам
        Ответить

    Добавить комментарий