내 프로그램의 인스턴스가 고유 식별자를 갖는 것이 중요하기 때문에 임의의 UUID를 생성하고 싶습니다. Boost UUID를 살펴 보았지만 어떤 클래스와 메서드를 사용해야하는지 이해하지 못해 UUID를 생성 할 수 없습니다.
누군가가 이것을 달성하는 방법에 대한 예를 줄 수 있다면 감사하겠습니다.
내 프로그램의 인스턴스가 고유 식별자를 갖는 것이 중요하기 때문에 임의의 UUID를 생성하고 싶습니다. Boost UUID를 살펴 보았지만 어떤 클래스와 메서드를 사용해야하는지 이해하지 못해 UUID를 생성 할 수 없습니다.
누군가가 이것을 달성하는 방법에 대한 예를 줄 수 있다면 감사하겠습니다.
답변:
기본 예 :
#include <boost/uuid/uuid.hpp> // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp> // streaming operators etc.
int main() {
boost::uuids::uuid uuid = boost::uuids::random_generator()();
std::cout << uuid << std::endl;
}
출력 예 :
7feb24af-fc38-44de-bc38-04defc3804de
random_generator
하고 두 번째는 operator()
해당 인스턴스에서 사용 합니다. 당신은 발전기 및 호출 저장해야합니다 operator()
: 둘 이상의 UUID 생성 할 경우에을random_generator rg; uuid ui = rg();
Georg Fritzsche의 대답은 괜찮지 만 약간 오해의 소지가 있습니다. 둘 이상의 uuid가 필요한 경우 생성기를 다시 사용해야합니다. 이 방법이 더 명확 할 수 있습니다.
#include <iostream>
#include <boost/uuid/uuid.hpp> // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp> // streaming operators etc.
int main()
{
boost::uuids::random_generator generator;
boost::uuids::uuid uuid1 = generator();
std::cout << uuid1 << std::endl;
boost::uuids::uuid uuid2 = generator();
std::cout << uuid2 << std::endl;
return 0;
}