std::remove_copy
template <class InputIterator, class OutputIterator, class T>
OutputIterator remove_copy (InputIterator first, InputIterator last,
OutputIterator result, const T& val);
복사 제거 범위 값, 발 동등 비교하는 요소 제외한 결과에서 시작하는 범위의 범위 [제 마지막)에서 복사 소자. 출력 컨테이너는 결과를 저장할만큼 충분히 커야합니다 ( ).STL의 표준 :
q1. 출력 컨테이너의 크기가 결과를 저장할만큼 커야하는 이유는 무엇입니까? 용기 자체가 자랄 건가요?
q2. remove_copy를 수행 할 때 출력 컨테이너의 이전 내용을 덮어 쓰는 이유는 무엇입니까? 예 : 수행 할 때 remove_copy(a.begin(),a.end(),b.begin(),' ');
컨테이너 B의 이전 내용이 손실되어 새로운 내용으로 바뀝니다. 이유는 무엇입니까? 출력 컨테이너의 시작 부분에 remove_copy의 결과가 추가되지 않는 이유는 무엇입니까?
이 함수는 원시 배열뿐만 아니라 STL 컨테이너 클래스에서도 작동하도록 설계되었습니다. – user0042
컨테이너를 확장하려면 ['std :: back_inserter'] (http://en.cppreference.com/w/cpp/iterator/back_inserter)를 사용하십시오. –