0
:다음 의사 코드 고려 컨테이너가 반복자 유형이있는 경우 감지 여부
template<class Container>
int some_function(const Container& container)
{
if (container has iterator) { //
// get an element by its iterator
} else {
// do another action
}
}
그래서, 우리는 컨테이너 유형 (. 예컨대, 벡터,리스트 된 valarray 또는 뭔가 다른)를받는 함수 템플릿을 가지고 있습니다. 주어진 컨테이너가 반복자 유형을 가지고 있는지 판별하는 것이 가능합니까 (런타임)? 컴파일 시간? 그것이 반복자를 가지고 다음`STL` 컨테이너의 경우
를 사용합니다. 그러나 iterator를 컨테이너가 아닌 매개 변수로 사용하는 것이 일반적으로 더 융통성 있고 재사용 가능합니다. – Galik
컨테이너에 반복기 유형이있는 경우와 지원하지 않는 경우를 모두 지원해야합니까? 귀하의 코드는 귀하가하는 것을 의미하지만, 귀하가 요청한 질문은 아닙니다. – tweej
예, 두 가지 경우 모두 지원하고 싶습니다. 내 질문은 : 컨테이너에 반복기 유형이 있는지 여부를 결정하고 코드 스 니펫에 조건으로 표현했습니다. 나는 그것이 내가 묻는 질문이라고 생각한다. –