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

    +14

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    Node<maxCnt>   n[sizeY][sizeX], on;
    //...
    auto EachConvex = [](auto f, Body& b) 
    {
      for (auto g : b.g)
      {
        auto cp = Body::ConvexPtr(&b, g);
        auto bounds = cp.bounds();
        auto max = Rect(0, 0, sizeX - 1, sizeY - 1);
        auto out = max.intersect(bounds);
        auto b = max & bounds;
        for (auto x = b.left; x < b.right; ++i)
          for (auto y = b.top; x < b.bottom; ++i)
            f(n[y][x], cp);
        if (out)
          f(on, cp);      
      }
      return true;
    }

    Запостил: LispGovno, 03 Декабря 2013

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

    • int& f();
               auto  i1 = f(); // int
      decltype(auto) i2 = f(); // int&
      Скоро, во всех кинотеатрах планеты!
      Ответить
    • auto EachConvex = [](auto f, Body& b)
      Компиляторы, вроде как, еще не научились выводить тип аргумента функции, когда это произошло?
      В общем, если раздраконить любую особенность языка до состояния отверстий Саши Грей, то выйдет такая же autoня, как и в топике.
      UPD: Ах ты ж ёжик. Совсем забыл погуглить, откуда взялся код.
      Ответить
      • С++14 лучше погугли.
        Ответить
        • чувствую что код можно будет только либо в дизассемблере либо в дебагере читать....
          Ответить
          • Может какая иде на шланге взлетит, что будет типы выводить нормально?
            Ответить
    • КрестоСкрипт ;)
      Ответить
    • for (auto x = b.left; x < b.right; ++i)
            for (auto y = b.top; x < b.bottom; ++i)
              f(n[y][x], cp);


      ЧТОЭТА?
      Ответить
    • Это обсуждение того, как бы выглядел код моего арканоида в новом стандарте (вот тут он и описан), и как бы он выглядел, если бы const auto было модификатором по умолчанию.
      Ответить

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