Блог Хеллера's Journal
 
[Most Recent Entries] [Calendar View]

Thursday, January 17th, 2013

    Time Event
    12:46p
    Пары на C++11

    Реализовал на новом C++ (стандарт C++11) такое вот представление пар (для простоты это пары целых значений):

    typedef std::function<int(std::function<int(int,int)>)> Pair;
    
    Pair make_pair(int a, int b)
    {
        return [=] (std::function<int(int,int)> f)
        {
            return f(a, b);
        };
    }
    
    int get_first(Pair p)
    {
        return p(
          [] (int a, int b)
          {
            return a;
          }
        );
    }
    
    int get_second(Pair p)
    {
        return p(
          [] (int a, int b)
          {
            return b;
          }
        );
    }

    Тривиально (канонически даже), но смешно довольно таки. Я думаю что людям, не знакомым с лямбда-исчислением, будет довольно прикольно разобраться в том, как это работает.

    На Гитхаб что ли залить. Вдруг хедхантеры меня там найдут и 100500 денег предложат.

    << Previous Day 2013/01/17
    [Calendar]
    Next Day >>

Блог Хеллера   About LJ.Rossia.org