나는 내 코드에서 C++ 컨테이너 객체를 사용하고 루프를 사용하여 각 요소를 읽는 함수가있다. 이 함수는 다음과 같이 보입니다.std :: unordered_set와 std :: vector 사이의 다형성?
void function(std::unordered_set<unsigned int> container)
{
for(auto it = container.begin(); it != container.end(); it++)
{
/* Do something */
}
}
그러나이 함수는 std :: vector 유형의 컨테이너도 허용하고 싶습니다. 코드에서 알 수 있듯이 함수 본문은 컨테이너 유형을 인식 할 필요는 없습니다 (* it을 사용하여 각 요소에 액세스 할 수 있습니다). 코드에서 중복성을 사용하지 않고 어떻게이 작업을 수행 할 수 있습니까?
+1. 좀 더 명시 적으로, ala'function (container.begin(), container.end()) '라 불리는'template void 함수 (Iterator begin, Iterator end)'는 또한 예를 들어. 배열 요소에 대한 포인터, 입력 반복자 등. –