특정 유형의 컨테이너를 std::string
매개 변수로 사용하는 함수를 만들 수있는 방법이 있습니까?
void foo(const std::container<std::string> &cont)
{
for(std::string val: cont) {
std::cout << val << std::endl;
}
}
모든 유형의 stl 컨테이너에 대해 입력으로 호출합니까? 위처럼?
std::set<std::string> strset;
std::vector<std::string> strvec;
std::list<std::string> strlist;
foo(strset);
foo(strvec);
foo(strlist);
2
네, 템플릿 함수라고합니다. ;)
—
Ulrich Eckhardt
종종 한 쌍의 반복자를 전달하는 것이 더 좋습니다 (각각 컨테이너의 시작과 끝을 나타냄). 반복자가 함수의 요구 사항을 충족하는 한, 어떤 유형의 컨테이너에서 얻은 것인지는 중요하지 않습니다 (종종 예외가 있습니다).
—
피터