在C++中生成唯一ID的方法有很多种,这里我将介绍一种简单的方法,使用<random>
库和<chrono>
库生成唯一ID。
#include<iostream>
#include<random>
#include<chrono>
#include<string>
std::string generate_unique_id() {
static std::mt19937_64 eng(std::chrono::system_clock::now().time_since_epoch().count());
static std::uniform_int_distribution<uint64_t> dist;
uint64_t unique_id = dist(eng);
return std::to_string(unique_id);
}
int main() {
std::string unique_id = generate_unique_id();
std::cout << "Generated unique ID: "<< unique_id<< std::endl;
return 0;
}
在这个例子中,我们使用了std::mt19937_64
伪随机数生成器,它是一个高质量的随机数生成器,并使用std::chrono::system_clock::now()
作为种子,确保每次生成的随机数序列都是不同的。然后我们使用std::uniform_int_distribution<uint64_t>
来生成一个64位的随机整数,作为唯一ID。
这种方法生成的唯一ID是基于时间的,因此它是不可预测的,并且在大多数情况下足够唯一。但是,如果您需要更高级的唯一ID生成器,可以考虑使用UUID库或其他第三方库。
serverless days
Elastic 中国开发者大会
第四期Techo TVP开发者峰会
企业创新在线学堂
腾讯技术开放日
云+社区技术沙龙[第14期]
Elastic 中国开发者大会
第四期Techo TVP开发者峰会
云+社区技术沙龙[第7期]
Techo Day
领取专属 10元无门槛券
手把手带您无忧上云