-6

私はC++で従業員データベースのプログラムを実行しています。従業員ごとに一意の従業員番号を生成したいのですが、うまくいきません。誰かが私を助けてくれます。VisualC++ではなくTurboC++Borlandに関連するコードを投稿してください。すぐにあなたたちから話を聞くことを望んでいます。コードでない場合は、この作業を行うためのアルゴリズムを教えてください。

4

2 に答える 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 に答える