Переполнение стека при генерации уникального Emplyee ID

Я делаю программу базы данных сотрудников на C ++. Я хочу сгенерировать уникальный номер сотрудника для каждого сотрудника, но у меня ничего не получится, если кто-нибудь мне поможет, и, пожалуйста, опубликуйте код, относящийся к Turbo C ++ Borland, а не Visual C ++. Надеюсь скоро услышать от вас, ребята. Если нет кода, пожалуйста, скажите мне алгоритм, чтобы сделать эту работу.

-6

Решение

Начните с 1 и увеличивайте каждый раз. Вот однопоточная версия:

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

Для многопоточной версии используйте std::atomic<unsigned long long int> вместо этого, или добавьте мьютекс.

2

Другие решения

Очень простой генератор уникальных идентификаторов

class UniqueIDGenerator{
private:
static unsigned long uniqueId = 1000ul;   //Starting the IDs with 1000

public:
static unsigned long generateUniqueId(){
return uniqueId++;
}
};

Используйте это так

int empId = UniqueIDGenerator::generateUniqueId();
-1

По вопросам рекламы [email protected]