stdhash

    0熱度

    1回答

    我不是在C++親但不知何故,我同時移植我的MSVS 2015年的C++代碼的MinGW 4.9.2專門std::hash類,以支持所有enum s提供的解決方案。這裏有任何C++編譯器開發人員或C++專業程序員,你能否解釋爲什麼這種專業化可行,儘管它是根據他們所說的C++標準的未定義行爲? Link for full code with samples on Gist #include <unor

    0熱度

    1回答

    你好我tryng實現特質類的std ::哈希結構的,但我不能從這裏取得進展: #include <iostream> #include <functional> namespace std { template<> struct hash< Test::AckMsgType<Test::EACKMSGTYPE::ACKMSG_POST> > { type

    1熱度

    2回答

    我在爲我的某個類執行部分特化std::hash時遇到問題。這是一個獨立的例子。 編輯:感謝彼得,我改變了代碼,包括修復,但仍然是錯誤。 #include <functional> #include <string> #include <unordered_set> #include <unordered_map> class Base { public: template

    2熱度

    1回答

    我有一個抽象基類Hashable可以散列的類派生自。我現在想將std::hash擴展到從Hashable派生的所有類。 下面的代碼應該做到這一點。 #include <functional> #include <type_traits> #include <iostream> class Hashable { public: virtual ~Hashable() {}

    3熱度

    2回答

    我試圖在映射中保存多態類型作爲鍵。 我想出了以下兩種結構: 注意Game是一個抽象類,我用的數據結構是: std::unordered_map<gamePtr,int> _allGames; 而gamePtr是typedef爲: unique_ptr<Game> template<> struct std::hash<std::unique_ptr<Game>> { size_

    7熱度

    1回答

    我原以爲會這樣,但是在我的標準庫實現(gcc-4.8.2)中找不到這個。 爲什麼std::hash不是專門用於std::reference_wrapper? #pragma once #include <functional> namespace std { template<typename T> struct hash<reference_wrapper<T>>

    0熱度

    2回答

    爲什麼std :: Hash對於不同的字符串有相同的結果? 我用msvc2010sp1,看到這個結果時,我很驚訝: int _tmain(int argc, _TCHAR* argv[]) { std::string sUniqId ("IndexBuf"); std::stringstream sStream; sStream << 10; s

    0熱度

    2回答

    我遇到以下問題,我無法找到解決方案。 當然,這可能是一個解決方案根本不存在,但我想在放棄之前嘗試一下。 首先,一個片段,有沒有錯誤編譯: #include <unordered_set> #include <memory> struct S { enum class E: unsigned int { FOO = 0, BAR }; }; namespace std {

    2熱度

    1回答

    我使用宣佈爲這樣的有序集合: std::set<std::pair<const std::string, const myClass *> > myset; 做的我用的是一組的方式一番分析後,我得出的結論是一個unordered_set將是一個更明智的選擇。但是,當我改變的std ::設置到std :: unordered_set,我得到錯誤信息的龐大滲出從我的編譯器(G ++ 4.8.1)的

    0熱度

    1回答

    我收到錯誤 "hashmap.hpp:63:14: error: ‘hash’ in namespace ‘std’ does not name a template type std::hash hash;" 我不明白爲什麼我需要實現我自己的專業化當我路過式T,這將可能是類型之一的模板類型適用於散列函數。 hashmap.hpp #ifndef __HASHMAP_HPP__ #define