このコードを使用して、ブーストから UUID を生成します。
boost::uuids::random_generator gen;
boost::uuids::uuid uuidId = gen();
string randomUUID = boost::lexical_cast<std::string>(uuidId);
std::remove( randomUUID.begin(), randomUUID.end(), '-');
randomUUID = "0x" + randomUUID;
「0xCC5B9F6946EF4448A89EDB2042E0B084」のような16進数が表示されます。
私の質問は次のとおりです。この文字列 (128 ビットの 16 進数) を 128 の long long または 64 bit long long に変換する方法 (より高いデータを失うことは問題ありません)。
この場合、標準の C 環礁と C++ std::stoll は役に立ちません。
ランダム生成の品質には UUID が優先されます。
ありがとうございました!