我想在32位應用程序中生成任何有限的std :: string大小唯一標識(即大小6)。什麼是最好的和快速的方法來做到這一點?生成std :: string的唯一標識
回答
查找字符串的散列,例如Jenkins hash function。
但你永遠不會得到獨特的哈希值,因爲字符串可以比你的尺寸6更長的時間,而Pigoenhole lemma顯示平凡認爲散列必須碰撞的結果。
很難從你的問題你問出來,但下面的順序「1」,在生成的字符串,「2」,「3」:
#include <string>
#include <sstream>
std::string GetUniqueId() {
static int n = 1;
std::ostringstream os;
os << n++;
return os.str();
}
我將具有唯一ID的數據保存在文件中,如果我要使用1 .. 2 .. 3。序列那麼我如何知道下次我加載文件時ID是否已經提供給某些數據? 我想如果我從每個可能有ID的唯一數據生成ID,會更好。 – cpx 2010-01-23 11:25:03
你爲什麼沒有在你原來的問題中說出來?你在這裏得到的答案的質量與你問題的清晰度和細節成正比。 – 2010-01-23 11:30:22
請注意,此方法不是線程安全的。至少「靜態」變量需要被保護以防止併發訪問。 – MKroehnert 2011-04-13 15:14:12
- 1. 生成條件唯一標識符
- 2. Google Go不生成唯一標識符?
- 3. 即時生成唯一標識
- 4. iOS 6 GKChallenge生成唯一標識符?
- 5. 唯一號碼標識符生成
- 6. 爲std :: map生成唯一密鑰
- 7. 生成用戶唯一標識的最佳/標準方法?
- 8. 唯一標識符
- 9. 在Perl中生成一個唯一的標識
- 10. 生成一個可靠的全系統唯一標識符
- 11. 爲用戶標識生成隨機唯一標記
- 12. 在博客標題上生成自動唯一標識
- 13. 在JavaScript中生成唯一標識iOS設備的(非UDID)標識符
- 14. 自動生成的字母數字的唯一標識與C#
- 15. 如何從python生成一個常量唯一標識
- 16. 生成唯一標識符作爲基於集合的查詢
- 17. 可以正確地生成唯一標識符的Django模型
- 18. PHP - 根據參數生成唯一的標識
- 19. 爲數組中的元素生成'可讀'唯一標識符?
- 20. MySQL - 生成自動增量的唯一標識
- 21. 如何在jsrender模板中生成唯一的標識
- 22. 如何編寫生成唯一標識符的存儲過程?
- 23. 在linux下生成全局唯一標識的參數
- 24. 構建唯一標識符生成的最佳方式
- 25. 在循環中生成h:dataTable的唯一標識
- 26. 生成用於標識記錄的唯一隨機字符串
- 27. PC的唯一標識符
- 28. YouTube的唯一標識符
- 29. 唯一標識Mailitem
- 30. Javascript GUID(全局唯一標識符)生成器說明
什麼樣的id?數字?又有多獨特?對於您的應用程序,會話,機器,世界? – 2010-01-23 10:47:53
它可以有任何足夠獨特的ASCII字符,所以我不會再次獲得相同的ID。它可以是從1到8的任何大小,用於我的應用程序。 – cpx 2010-01-23 10:57:25
在這種情況下,明顯的序列1,2,3有什麼問題,.... – 2010-01-23 11:08:10