我正在做一個C++員工數據庫的程序。我想爲每個員工生成一個唯一的員工編號,但我不成功,有人可以幫助我,哦,請張貼與Turbo C++ Borland相關的代碼,而不是Visual C++。希望能儘快聽到你們的消息。如果不是代碼,請告訴我一個算法來完成這項工作。獨特的Emplyee ID生成C++
回答
從1開始,每次增加。這裏有一個單線程版本:
unsigned long long int unique_id()
{
static unsigned long long int n = 0;
return ++n;
}
對於線程安全的版本,使用std::atomic<unsigned long long int>
代替,或添加一個互斥。
在Turbo C++中std :: atomic和mutex? – 2012-10-30 17:03:12
C++ Builder,Turbo C++的現代(和維護)替換,顯然至少支持一些C++ 11規範。然而,對於Turbo C++本身並沒有多少希望。 – Rook
很簡單的一個唯一的ID生成
class UniqueIDGenerator{
private:
static unsigned long uniqueId = 1000ul; //Starting the IDs with 1000
public:
static unsigned long generateUniqueId(){
return uniqueId++;
}
};
使用方法如下
int empId = UniqueIDGenerator::generateUniqueId();
這不是C++ ... –
@KerrekSB對不起,如果我犯了任何語法錯誤。我很久沒碰過C++了。您能否指出錯誤,以便我能糾正它? – Vivek
那麼,在C++中就沒有這樣的「公共類」。只是'上課'。但是擁有一個沒有非靜態成員的類也是有點過分的。爲什麼不只是一個功能? –
- 1. 生成獨特的視圖ID
- 2. 生成獨特的上升ID
- 3. GameCenter獨特成就ID
- 4. 在HTML/PHP生成獨特的5個字母數字的ID
- 5. 生成獨特的自動遞增的實例ID
- 6. 獨特KEY生成算法
- 7. 這個php獨特的id生成器有問題嗎?
- 8. iOS中用CFUUID生成的id有多獨特?
- 9. 在PHP中生成真正獨特的訂單ID?
- 10. 獨特的客戶端引用id自動生成Asp.net | Vb.net
- 11. 如何使用獨特的隨機順序自動生成ID?
- 12. C生成唯一的ID
- 13. 獨特INT ID
- 14. Android獨特ID
- 15. 從文件名生成獨特的IRI
- 16. 生成獨特的隨機字符串
- 17. 如何生成獨特的itertools鏈?
- 18. 生成所有獨特的排列
- 19. Haskell QuickCheck獨特的隨機數生成
- 20. 在Pig中生成獨特的交叉
- 21. 生成文本的獨特組合
- 22. Symfony2獨特的令牌生成器
- 23. Ruby/Rails獨特的名字生成器
- 24. 通過c生成獨特的3字符城市代碼
- 25. 生成C#長唯一ID
- 26. 生成特殊的安全ID
- 27. 在XSLT中生成特定的ID
- 28. PHP - 生成特殊的唯一ID
- 29. PHP:生成獨特隨機數/ IDS
- 30. 獨特推介代碼生成在Django
順序是已知的唯一... Luchian格里戈裏算法的 –
實現。 'last_id ++;'如果last_id是最後一個使用的,則此代碼將創建一個新的唯一ID並將其存儲在last_id中。 – BenjiWiebe
如果您使用普通的RDBMS後端來存儲員工數據,您應該使用該數據庫自己的唯一標識符生成機制,因爲這些可以由數據庫強制執行,並且應該爲您處理任何鎖定和同步問題。如果你不使用標準數據庫後端,你可能應該這樣做。 – Rook