Chcę generować tylko losowe identyfikatory UUID, ponieważ ważne jest, aby instancje w moim programie miały unikalne identyfikatory. Zajrzałem do Boost UUID , ale nie mogę wygenerować UUID, ponieważ nie rozumiem, której klasy i metody użyć.
Byłbym wdzięczny, gdyby ktoś dał mi przykład, jak to osiągnąć.
c++
boost
uuid
boost-uuid
Nikola
źródło
źródło
stringstream
przykład. Albo pozwólboost::lexical_cast<std::string>(uuid)
zrobić to za Ciebie.random_generator
, druga używaoperator()
na tej instancji. Powinieneś zapisać generator i wywołaćoperator()
go, jeśli chcesz wygenerować więcej niż jeden uuid:random_generator rg; uuid ui = rg();
Odpowiedź Georga Fritzschego jest w porządku, ale może trochę myląca. Powinieneś ponownie użyć generatora, jeśli potrzebujesz więcej niż jednego płynu. Może to jest jaśniejsze w ten sposób:
#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; }
źródło