반응형
std :: set에 대한 std :: back_inserter?
이것은 간단한 질문이라고 생각합니다. 다음과 같이해야합니다.
std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());
물론, std::back_inserter
어떤이 이후 작업은하지하지 않습니다 push_back
. std::inserter
반복자가 필요합니까? 사용 std::inserter
하지 않아서 어떻게해야할지 모르겠습니다.
누구나 아이디어가 있습니까?
물론 내 다른 옵션은에 벡터를 사용한
s2
다음 나중에 정렬하는 것입니다. 그게 더 좋을까요?
set
push_back
요소의 위치는 세트의 비교기에 의해 결정되기 때문에 없습니다 . std::inserter
그것을 사용 하고 전달하십시오 .begin()
:
std::set<int> s1, s2;
s1 = getAnExcitingSet();
transform(s1.begin(), s1.end(),
std::inserter(s2, s2.begin()), ExcitingUnaryFunctor());
그런 다음 삽입 반복기는 기록 될 때 반복기에 전달 된 값이 s2.insert(s2.begin(), x)
어디에 있는지 호출 x
합니다. 이 세트는 삽입 할 위치 힌트로 반복기를 사용합니다. 당신은 잘 사용할 수 있습니다 s2.end()
.
참고 URL : https://stackoverflow.com/questions/908272/stdback-inserter-for-a-stdset
반응형
'code' 카테고리의 다른 글
npm -D 플래그는 무엇을 의미합니까? (0) | 2020.09.22 |
---|---|
Swift 4의 JSONDecoder를 사용하면 누락 된 키가 선택적 속성이 아닌 기본값을 사용할 수 있습니까? (0) | 2020.09.22 |
정의되지 않은 것을 덮어 쓰지 않는다고 가정하는 것이 JavaScript에서 실제로 얼마나 위험한가요? (0) | 2020.09.22 |
IIS 앱 풀, 작업자 프로세스, 앱 도메인 (0) | 2020.09.22 |
바닐라 ECMAScript 6 Promise 체인 취소 (0) | 2020.09.22 |