Domanda

Ho appena iniziato a utilizzare Boost in C ++ e volevo solo chiedere un paio di domande relative agli UUID.

Sto caricando in un file che richiede che conosco gli UUID in modo da poter collegare alcuni oggetti insieme.Per questo motivo, sto cercando di scrivere i miei uuids ma non sono sicuro se ci sono condizioni speciali per le stringhe ecc. Come le corde che ho usato (di solito qualcosa di base) non funziona.Qualcuno può indicarmi nella giusta direzione?Ho provato a utilizzare un generatore di stringa, ma non disponibile finora così, suppongo che ci sia qualcosa di sbagliato nelle mie stringhe (che sono state solo parole casuali).

Ecco un breve esempio di cose, non può dare il codice reale:

void loadFiles(std::string xmlFile);

void linkObjects(custObj network)
{
    for (int i = 0; i < network->getLength(); i++)
    {
        network[i]->setId([boost::uuid]);  
        if (i > 0)
            network[i]->addObj(network[i-1]->getId());
    }
}
.

È stato utile?

Soluzione

Ho preso la tua domanda come "Ho bisogno di un campione".Ecco un campione che mostra

    .
  • Lettura
  • scrittura
  • Generazione
  • Confronto

Uuids con aumentazione uuid.

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/random_generator.hpp>
#include <boost/lexical_cast.hpp>

using namespace boost::uuids;

int main()
{
    random_generator gen;

    for (int i = 0; i < 10; ++i)
    {
        uuid new_one = gen(); // here's how you generate one

        std::cout << "You can just print it: " << new_one << "; ";

        // or assign it to a string
        std::string as_text = boost::lexical_cast<std::string>(new_one);

        std::cout << "as_text: '" << as_text << "'\n";

        // now, read it back in:
        uuid roundtrip = boost::lexical_cast<uuid>(as_text);

        assert(roundtrip == new_one);
    }
}
.

Vedi Live su coliru

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top