«unordered-map» 태그된 질문

12
사소한 키의 경우 unorder_map보다 map을 사용하면 어떤 이점이 있습니까?
unordered_mapC ++에서 최근에 한 이야기 는 조회 효율 ( 상각 O (1) 대 O (log n) ) 때문에 이전에 unordered_map사용했던 대부분의 경우에 사용해야한다는 것을 깨달았습니다 . 나는지도를 사용하는 대부분의 시간, 나는 하나를 사용 하거나 키 유형으로; 따라서 해시 함수 정의에 아무런 문제가 없습니다. 내가 그것에 대해 더 많이 생각할수록 간단한 …

2
사용자 정의 클래스 유형을 키로 사용하는 C ++ unorder_map
unordered_map다음과 같이 사용자 정의 클래스를 키로 사용하려고합니다 . #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){} Node(vector<int> v) { sort(v.begin(), v.end()); a = v[0]; b = v[1]; c = v[2]; } bool operator==(Node i) …

3
정렬되지 않은 컨테이너의 사용자 정의 유형에 대해 std :: hash <Key> :: operator ()를 전문화하는 방법은 무엇입니까?
에 사용자 정의 키 유형을 지원하기 위해 std::unordered_set&lt;Key&gt;그리고 std::unordered_map&lt;Key, Value&gt; 하나는 제공해야 operator==(Key, Key)하고 해시 펑터 : struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; …

5
지도와 무순지도 중에서 선택하는 방법은 무엇입니까?
문자열을 키로 사용하여 데이터를 매핑한다고 가정 해 보겠습니다. 무엇 용기는 내가 선택,해야 map또는 unordered_map? unordered_map더 많은 메모리를 차지하므로 메모리가 문제가되지 않고 속도가 문제라고 가정 해 보겠습니다. unordered_map일반적으로 O (n)의 최악의 경우 O (1)의 평균 복잡도를 제공해야합니다. 어떤 경우에 O (n)에 도달합니까? map시간 은 언제 보다 효율적 unordered_map입니까? n이 작을 때 …

2
std :: unordered_map operator []가 비 기존 키에 대해 0으로 초기화합니까?
cppreference.com에 따르면 std::map::operator[]존재하지 않는 값에 대해서는 초기화가 수행되지 않습니다. 그러나 동일한 사이트에는 이에 대한 std::unordered_map::operator[]예제가있는 경우를 제외하고에 대한 0 초기화를 언급하지 않습니다 . 물론 이것은 표준이 아닌 참조 사이트 일뿐입니다. 아래 코드가 정상입니까? #include &lt;unordered_map&gt; int main() { std::unordered_map&lt;int, int&gt; map; return map[42]; // is this guaranteed to return 0? …

1
GCC에서 unorder_map :: insert KeyEqual 예외 중 메모리 누수가 발생합니다.
GCC 7.3.1을 사용하고 있지만 버전 9.2.0이라고 생각되는 coliru에서도 테스트되었습니다. 다음을 사용하여 빌드하십시오. g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp 여기 있습니다 rai.cpp: #include &lt;iostream&gt; #include &lt;unordered_map&gt; int main() { try { struct MyComp { bool operator()(const std::string&amp;, const std::string&amp;) const { throw std::runtime_error("Nonono"); } }; std::unordered_map&lt;std::string, std::string, std::hash&lt;std::string&gt;, MyComp&gt; mymap; mymap.insert(std::make_pair("Hello", "There")); mymap.insert(std::make_pair("Hello", …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.