C++ for_each 함수

C++ 2018.03.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 


더보기



Posted by ♥03♥