STL for_each 알고리즘

1573 단어 STL알고리즘
본 논문 의 내용 은 C + + Plus 에서 나 왔 는데 본 고 는 본인 의 정리 와 번역 일 뿐 입 니 다.본인 은 C + + 의 짐꾼 일 뿐 입 니 다.
원문 전송 문:http://www.cplusplus.com/reference/algorithm/for_each/
for_each 알고리즘: [first, last) 구간 의 모든 요 소 를 옮 겨 다 니 며 function 방법 을 호출 합 니 다.
template
  Function for_each(InputIterator first, InputIterator last, Function fn)
{
  while (first!=last) {
    fn (*first);
    ++first;
  }
  return fn;      // or, since C++11: return move(fn);
}

[first, last) 구간 이 비어 있 지 않 으 면 모든 요 소 를 순환 하여 function 을 호출 합 니 다.
테스트 코드 는 다음 과 같 습 니 다:
#include      // std::cout
#include     // std::for_each
#include        // std::vector

void myfunction (int i) {  // function:
  std::cout << ' ' << i;
}

struct myclass {           // function object type:
  void operator() (int i) {std::cout << ' ' << i;}
} myobject;

int main () {
  std::vector myvector;
  myvector.push_back(10);
  myvector.push_back(20);
  myvector.push_back(30);

  std::cout << "myvector contains:";
  for_each (myvector.begin(), myvector.end(), myfunction);
  std::cout << '
'; // or: std::cout << "myvector contains:"; for_each (myvector.begin(), myvector.end(), myobject); std::cout << '
'; return 0; }

주의 점:
for each 알고리즘 의 역할 은 그 안에서 하나의 방법 을 매개 변수 로 전달 할 수 있다 는 것 이다. 이 방법 은 자신 이 정의 할 수도 있 고 API 일 수도 있다.

좋은 웹페이지 즐겨찾기