私はC++で従業員データベースのプログラムを実行しています。従業員ごとに一意の従業員番号を生成したいのですが、うまくいきません。誰かが私を助けてくれます。VisualC++ではなくTurboC++Borlandに関連するコードを投稿してください。すぐにあなたたちから話を聞くことを望んでいます。コードでない場合は、この作業を行うためのアルゴリズムを教えてください。
2158 次
2 に答える
2
1から始めて、毎回増やします。これがシングルスレッドバージョンです:
unsigned long long int unique_id()
{
static unsigned long long int n = 0;
return ++n;
}
スレッドセーフバージョンの場合は、std::atomic<unsigned long long int>
代わりに使用するか、ミューテックスを追加してください。
于 2012-10-30T16:59:37.797 に答える
-1
非常にシンプルな一意の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();
于 2012-10-30T16:59:50.893 に答える