C++ for_each 함수

SUCY
|2018. 3. 21. 00:06



C++ / for_each 함수



제공하는 반복자 사이의 모든 요소를 각각 방문하여 작업을 처리하는 함수.

즉, for_each 함수의 3번째 인자로 

전달받은 함수나, 객체의 오버로딩 된 ( )연산자(연산자오버로딩)에  컨테이너 요소 값을 전달하는 것을 의미



ex)




class CMyClass

{

public:                // (당연히) 퍼블릭으로 해주어야합니다.

void operator( ) ( CTestClass& test )

{

delete test;

test = NULL;

}

}


vector<CTestClass> vec;


//  사이 코드는 초기화 및 값이 들어가있다고 가정합니다.

...


for_each( vec.begin( ), vec.end( ),  CMyClass( ) );


/// vec 변수에 들어가있는 begin부터 end 앞까지의 CTestClass 객체의 요소들이 

/// 순차적으로 돌아가면서 CMyClass 내부에 재정의 되어있는 operetor( ) (대입연산자오버로딩)가 호출되면서

/// 매개변수로 넘어갑니다.





더 좋은 예제는  http://gcyong.tistory.com/2 




'Language > C++' 카테고리의 다른 글

[C++] 함수 포인터  (0) 2022.05.06
[C++] 문법 - 범위 지정 연산자  (0) 2022.04.01
[C++] 중첩 클래스 사용 이유  (0) 2018.01.10
[C++] variadic template  (0) 2017.12.28
[C++] 템플릿 이것저것(정리중...)  (0) 2017.12.27