Creative Commons License

find_if<const char*> 찾지 못하면? IT



당연한 결과겠지만, 맨 뒷 녀석이 나오겠지.
#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.


덧글

  • 자이언트로보 2007/12/08 16:16 #

    C++이다!!
    블로그에 답글 남겨주신고 보고 왔는데 역시 반가운(?) 포스팅이 있군요 --;
    그런데 해석이 없어서 알아보기가 힘듭니다 ㅎㅎ~~
  • 샘이 2007/12/09 01:34 #

    자이언트로보// find_if라는 STL GenericAlgorithm에서 STL container가 아닌 그냥 일반 타입에 포인터도 잘 작동하는지 검사해본 것입니다.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

Google Adsense

Google Adsense

Google Analytics



C로그팬박스