C++에서 Employee Database 프로그램을 수행하고 있습니다. 각 직원마다 고유 한 직원 번호를 생성하고 싶지만 성공하지 못했습니다. 누군가 나를 도와 드릴 수 있습니다. 오, Visual C++가 아닌 Turbo C++ Borland 관련 코드를 게시하십시오. 곧 너희들의 소식을 듣기를 바란다. 코드가 아니라면이 작업을 수행하는 알고리즘을 알려주십시오.고유 Emplyee ID 생성 C++
답변
1에서 시작하여 매번 증가하십시오. 여기에 단일 스레드 버전입니다 :
unsigned long long int unique_id()
{
static unsigned long long int n = 0;
return ++n;
}
스레드 안전 버전의 경우는, 대신 std::atomic<unsigned long long int>
를 사용하거나 뮤텍스를 추가 할 수 있습니다.
std :: 터보 C++의 원자 및 뮤텍스? –
C++ 빌더, 터보 C++의 현대적인 (유지 보수 된) 대체품으로 C++ 11 스펙 중 적어도 일부는 분명히 지원됩니다. 그러나 Turbo C++ 자체에 대한 희망은별로 없습니다. – Rook
아주 간단한 고유 한 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();
이것은 C++이 아닙니다 ... –
@KerrekSB 구문 오류가 발생하면 죄송합니다. 나는 오랫동안 C++에 손대지 않았다. 오류를 지적하여 문제를 해결할 수 있습니까? – Vivek
C++에는 "공용 클래스"같은 것이 없습니다. 그냥'클래스'. 그러나 비 정적 멤버가없는 클래스도 맨 위에 약간 있습니다. 왜 함수가 아닌가? –
- 1. JavaScript에서 고유 ID 생성
- 2. 고유 ID 생성
- 3. 고유 ID 생성
- 4. 자바에서 고유 ID 생성
- 5. C# 하드웨어 ID를 기반으로 고유 ID 생성
- 6. C++에서 고유 ID 생성 및 재사용
- 7. 고유 문자열 입력에서 고유 ID 생성
- 8. JavaScript에서 전역 고유 ID 생성
- 9. PHP/MySQL : 고유 ID 생성
- 10. 휴대 전화의 고유 ID 생성
- 11. Objective C에서 고유 ID 생성
- 12. C#에서 시스템 (PC/노트북) 하드웨어 고유 ID 생성 방법?
- 13. EF4 및 서버 생성 고유 식별자 Id
- 14. 시스템의 고유 ID 생성 (재현 가능)
- 15. 루프의 h : dataTable에 고유 ID 생성
- 16. C#의 고유 번호 생성
- 17. 클라이언트 ID : 고유 식별자 :
- 18. 자바 스레드의 고유 ID
- 19. 컴파일시에 고유 번호 생성
- 20. 짧은 고유 ID
- 21. 자바 스크립트 고유 브라우저 ID
- 22. C#의 파일에 대한 고유 ID
- 23. mysql의 고유 ID
- 24. 당신이 고유 ID
- 25. DHT 노드 ID 생성?
- 26. 고유 사용자 ID
- 27. 자바에서 고유 ID 할당
- 28. Java의 고유 ID 코드
- 29. HTML5 기기 고유 ID
- 30. Django - 로깅 고유 ID
순차처럼 사용이 ... 독특한 것으로 알려져 Luchian 고르의 알고리즘의 –
구현된다. 'last_id ++;'last_id가 마지막으로 사용 된 것이면이 코드는 새로운 고유 ID를 생성하고 last_id에 저장합니다. – BenjiWiebe
일반적인 RDBMS 백엔드를 사용하여 직원 데이터를 저장하는 경우 해당 데이터베이스 고유의 식별자 생성 메커니즘을 사용해야합니다. 이러한 메커니즘은 데이터베이스에 의해 강제 적용될 수 있으며 잠금 및 동기화 문제를 처리해야합니다. 표준 데이터베이스 백엔드를 사용하지 않는다면 아마해야 할 것입니다. – Rook