Quantcast
Channel: математика —Блог Хеллера
Viewing all articles
Browse latest Browse all 33

Пары на C++11

$
0
0

Реализовал на новом 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 денег предложат.


Viewing all articles
Browse latest Browse all 33

Trending Articles