投稿数 - 437, コメント - 59536, トラックバック - 156

初めての boost。lambda を見て畏怖(find_if)

今更だけど、boost 初体験。

#include <iostream>
#include <algorithm>
#include <boost/lambda/lambda.hpp>
 
using namespace std;
using namespace boost::lambda;
 
int main()
{
    int a[] = {1, 3, 3, 3, 4};
    const int size = sizeof(a)/sizeof(int);
    const int* i = find_if(&a[0], &a[size], _1 % 2 == 0);
 
    if(i != a + size){
        cout << "偶数あり" << endl;
    }
    else{
        cout << "偶数なし" << endl;
    }
 
    return 0;
}

lambda がある。全然 C++ に見えないんだけど。一体どういう仕組みだ!?

投稿日時 : 2007年6月28日 8:06

フィードバック

# re: 初めての boost。lambda を見て畏怖(find_if)

初めてのBoostでlambdaですかw

楽しいですよねー♪
2007/06/28 8:49 | アキラ

# re: 初めての boost。lambda を見て畏怖(find_if)

楽しいですね。
lambda は変態チックですがw。
2007/06/28 12:57 | 囚人

# re: 初めての boost。lambda を見て畏怖(find_if)

呆れるほどに巧妙ですなぁ > boost::lambda
_1 が関数オブジェクト(ファンクタ)で、そいつに何らかの演算子を
適用させるとそっから新たなファンクタが生成されるんやね。
2007/06/28 16:39 | επιστημη

# re: 初めての boost。lambda を見て畏怖(find_if)

Let's boostのこのページの下にとっかかり部分を実装したサンプルコードがあります。
http://www.kmonos.net/alang/boost/classes/lambda.html
2007/06/28 18:45 | Kazuki

# re: 初めての boost。lambda を見て畏怖(find_if)

>呆れるほどに巧妙ですなぁ > boost::lambda
C++ ってコンパイラに手を入れなくても、スゲー事を実現できるってのがすごいっすね。

>Let's boostのこのページの下にとっかかり部分を実装したサンプルコードがあります。
ありがとうございます。参考にさせていただきます。
2007/06/28 20:37 | 囚人

# Today is proper light of day

Obedient bye, sentimental soul mate :)
2012/04/30 12:22 | Rephineew

# Today is nobility day

Lofty bye, sweet soul mate :)
2012/05/06 21:25 | gypecampfam

# Today is proper heyday

Honourable bye, sweet chum :)
2012/05/12 15:39 | UttendebY

コメントの投稿

タイトル
名前
URL
コメント