응용 프로그램의 부스트와 표준에서 unordered_set을 사용하려고 할 때,이 세트의 특정 요소의 색인, 즉 위치를 찾는 것이 목표입니다. 결과 간에는 미묘한 차이가 있습니다. 부스트의 요소는이 간단한 프로그램에 따라 바뀝니다. 문제가 어디에 있습니까?부스트와 표준의 unordered_set의 차이점
간단한 '무엇을-경우'코드 : 부스트와
#include <iostream>
#include <iterator>
#include <unordered_set>
#include <boost/unordered_set.hpp>
//using boost::unordered_set;
using std::unordered_set;
using std::distance;
int main()
{
unordered_set<int> Set;
int sz = 10;
for(int k=0;k<sz;k++)
Set.insert(k);
unordered_set<int>::iterator ind_searched = Set.find(8);
unordered_set<int>::size_type indx = distance(Set.begin(),
ind_searched);
std::cout << " Index of element is "
<< indx << std::endl;
return 0;
}
내가
Index of element is 1
을 얻을 표준 unordered_set와 내가 얻고 것은
Index of element is 8
나는
으로 모두 컴파일g++ sgi_stl_1.cc -I /home/utab/external_libraries/boost_1_48_0/ -std=c++0x
접두어'unordered '는 이유가 있기 때문에 실제로 존재합니다. 이러한 컨테이너의 순서는 정의되어 있지 않으므로 여기에 의존해서는 안됩니다. – pmr