Я делаю программу базы данных сотрудников на C ++. Я хочу сгенерировать уникальный номер сотрудника для каждого сотрудника, но у меня ничего не получится, если кто-нибудь мне поможет, и, пожалуйста, опубликуйте код, относящийся к Turbo C ++ Borland, а не Visual C ++. Надеюсь скоро услышать от вас, ребята. Если нет кода, пожалуйста, скажите мне алгоритм, чтобы сделать эту работу.
Начните с 1 и увеличивайте каждый раз. Вот однопоточная версия:
unsigned long long int unique_id()
{
static unsigned long long int n = 0;
return ++n;
}
Для многопоточной версии используйте std::atomic<unsigned long long int>
вместо этого, или добавьте мьютекс.
Очень простой генератор уникальных идентификаторов
class UniqueIDGenerator{
private:
static unsigned long uniqueId = 1000ul; //Starting the IDs with 1000
public:
static unsigned long generateUniqueId(){
return uniqueId++;
}
};
Используйте это так
int empId = UniqueIDGenerator::generateUniqueId();