4
다음 작업 후 2 개의 요소가 포함될 일부 STL (but not boost) 컨테이너를 찾고 있는데, "abc"및 "xyz":중복 된 요소를 무시하려면 어떤 STL 컨테이너를 사용해야합니까?
std::XContainer<string> string_XContainer;
string_XContainer.push_back("abc");
string_XContainer.push_back("abc");
string_XContainer.push_back("xyz");
그런데 순서대로 필요합니다. 마지막으로 string_XContainer.size()
을 호출하여 총 고유 문자열 수를 얻습니다. 어쩌면 컨테이너가 필요하지 않을 수도 있고, 더 우아한 방법이 있을까요?
예,이 컨테이너가 설정됩니다. @Ior Oks,하지만 삽입 된 요소의 순서는 집합에서 유지되지 않습니다, 나는 그것이 필요하지 않습니다. – Naveen
삽입 순서는 유지되지 않지만 엄격한 약한 순서가 유지됩니다. –
고유는 정렬 된 범위에서만 작동한다는 점을 잊지 마십시오. 'std :: adjacent_find (iBegin, iEnd, std :: greater()) == iEnd' 트릭을 사용하여 범위가 정렬되어 있는지 테스트하고 'sort'가 아닌 경우에만 적용 할 수 있습니다. –