唯一员工ID生成C++; 我正在用C++做一个员工数据库程序。我想为每个员工生成一个唯一的员工号,但我没有成功,有人能帮助我,哦,请发布与Turbo C++ + Borland相关的代码,而不是Visual C++。希望尽快收到你们的来信。如果不是代码,请告诉我执行此操作的算法。

唯一员工ID生成C++; 我正在用C++做一个员工数据库程序。我想为每个员工生成一个唯一的员工号,但我没有成功,有人能帮助我,哦,请发布与Turbo C++ + Borland相关的代码,而不是Visual C++。希望尽快收到你们的来信。如果不是代码,请告诉我执行此操作的算法。,c++,unique-id,C++,Unique Id,从1开始,每次递增。以下是单线程版本: unsigned long long int unique_id() { static unsigned long long int n = 0; return ++n; } 对于线程安全版本,请改用std::atomic,或添加互斥锁。一个非常简单的唯一ID生成器 class UniqueIDGenerator{ private: static unsigned long uniqueId = 1000ul; //

从1开始,每次递增。以下是单线程版本:

unsigned long long int unique_id()
{
    static unsigned long long int n = 0;
    return ++n;
}

对于线程安全版本,请改用
std::atomic
,或添加互斥锁。

一个非常简单的唯一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();

序贯算法被认为是唯一的……实现了吕西安·格里戈尔的算法<代码>最后一个_id++如果last_id是最后一个使用的id,此代码将创建一个新的唯一id并将其存储在last_id中。如果您使用普通RDBMS后端将员工数据存储在中,您可能应该使用该数据库自己的唯一标识符生成机制,因为这些可以由数据库强制执行,任何锁定和同步问题都应该为您处理。C++ C++ C++的Builder,Turbo C++的现代(和维护)替换,显然支持至少C++ 11的规范。对于Turbo C++本身,没有太多的希望。但是,如果我犯了语法错误,KerrekSB很抱歉。我很久没有接触过C++了。你能指出这个错误吗,这样我就可以改正它?好的,C++中没有“<代码>公共类< /代码>”这样的东西。只需
。但是拥有一个没有非静态成员的类也有点过头了。为什么不只是一个函数呢?或者至少,让它成为一个实际的类,使用ID seed作为构造属性或其他东西!谢谢你的更正。我同意在这里没有非静态成员时不需要类:)