본문 바로가기

C++ Programming/STL

알고리즘 인자로서의 함수

1.
   void print(int elem)
  {cout<<elem<<' ';}
   for_each(coll1.begin(),coll.end(), //범위
                print);                           //동작
2. 조건자
   a) 단항 조건자  - 하나의 아규먼트의 속성을 검사한다.
       ex) bool isPrime(int number)
            {...}
             list<int>interator pos;
             pos = find_if(coll1.begin(),coll1.end(), //범위
                  isPrime);                        //조건자
 // find_if() 알고리즘은 주어진 범위에서 단항 조건자가 true를 반환하는 첫번째 원소를 검색하기 위해 사용

b) 이항 조건자  - 두개의 아규먼트의 속성을 비교한다.
ex) bool personSortCriterion(const Person& p1,const Person& p2)
      {...}
     sort(coll1.begin(),coll2.end(), //범위
           personSortCriterion);       //정렬기준