2007년 12월 7일 금요일

find_if 찾지 못하면?

당연한 결과겠지만, 맨 뒷 녀석이 나오겠지.

#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;

int
main(int argc, char* argv[])
{
    const char buf[] = "Hello, world!";
    const char* pb(buf);
    const char* pe(buf+sizeof(buf));

    const char* r1(NULL);
    const char* r2(NULL);

    r1 = find_if(pb,pe,bind2nd(equal_to<char>(), 'w'));
    r2 = find_if(pb,pe,bind2nd(equal_to<char>(), '*'));

    cout << "Source: " << buf << endl;
    cout << "pb: " << (void*)pb << endl;
    cout << "pe: " << (void*)pe << endl;
    cout << "find_if(w): " << (void*)r1 << endl;
    cout << "find_if(*): " << (void*)r2 << endl;

    return EXIT_SUCCESS;
}


결과는...
$ ./find_if
Source: Hello, world!
pb: 0x7fffd0010550
pe: 0x7fffd001055e
find_if(w): 0x7fffd0010557
find_if(*): 0x7fffd001055e


Powered by ScribeFire.