Кресты / Говнокод #25989 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 MAPTbIwKA, (Updated )

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

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

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

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8