webentwicklung-frage-antwort-db.com.de

Beispiel für die UUID-Generierung mit Boost in C ++

Ich möchte nur zufällige UUIDs generieren, da es für Instanzen in meinem Programm nur wichtig ist, eindeutige Bezeichner zu haben. Ich habe nach Boost UUID gesucht, aber ich kann die UUID nicht generieren, weil ich nicht verstehe, welche Klasse und Methode ich verwenden soll.

Ich würde mich freuen, wenn mir jemand ein Beispiel geben könnte, wie dies erreicht werden kann.

87
Nikola

Ein einfaches Beispiel:

#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;
}

Beispielausgabe:

7feb24af-fc38-44de-bc38-04defc3804de

151
Georg Fritzsche

Die Antwort von Georg Fritzsche ist ok, aber vielleicht etwas irreführend. Sie sollten den Generator wiederverwenden, wenn Sie mehr als eine UUID benötigen. Vielleicht ist es so klarer:

#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;
}
28
Nikko