2016-01-21 66 views
0

我正在將C++ 98代碼庫遷移到C++ 11/14。我的項目使用的一個庫使用以下函數來計算字符串的散列。如何包含Fnv_hash <> :: hash C++ 11

std::tr1::Fnv_hash<>::hash 

顯然,C++ 11中的std :: namespace不再包含這個函數。儘管我可以更改外部庫的代碼,但我不希望它需要大量的工作和時間。

如何在使用std = C++ 11編譯時在我的項目中包含thi特定函數?

我試過用gnu ++ 11,但沒有奏效。

回答

0

有沒有標準功能Fnv_hash,它只是libstdc++的具體功能。你可以看看定義here。您可以包括"tr1/functional_hash.h"並繼續使用它。

+0

那麼,這個函數已經從用於C++ 11的lisstdC++中移除了嗎? –

+0

@GiuseppePes否,至少在gcc 5.3中有header tr1/functional_hash。但是,在標準C++中沒有這樣的功能。 – ForEveR

+0

對於我的同志感到抱歉,但標準C++和libstdC++有什麼區別?我認爲libstdC++是實現所有C++標準函數的庫? –

相關問題