Boost::UUIDs-何时使用它们?

Boost::UUIDs-何时使用它们?,boost,uuid,Boost,Uuid,序列化boost::UUID是有代价的。使用它们索引到向量/无序映射需要额外的散列。boost::UUID是理想数据结构的理想用例是什么 如果您想要在时间上和跨存储系统稳定的ID,UUID是很有价值的 想象一下有两个数据库,每个数据库都有自动生成的ID 如果ID是通过从0开始递增整数值生成的,则合并它们将是一个难题 如果所有相关ID都是UUID,那么合并它们将是轻而易举的事 类似地,将大量数据分发给离线记录操作的外部方,并随后将这些操作应用到原始数据上,这对于UUID来说要容易得多——即使元素之

序列化boost::UUID是有代价的。使用它们索引到向量/无序映射需要额外的散列。boost::UUID是理想数据结构的理想用例是什么

如果您想要在时间上和跨存储系统稳定的ID,UUID是很有价值的

想象一下有两个数据库,每个数据库都有自动生成的ID

如果ID是通过从0开始递增整数值生成的,则合并它们将是一个难题

如果所有相关ID都是UUID,那么合并它们将是轻而易举的事

类似地,将大量数据分发给离线记录操作的外部方,并随后将这些操作应用到原始数据上,这对于UUID来说要容易得多——即使元素之间的关系已更改、新元素已创建等

UUID还可以方便地进行通用“标识”(而不是身份验证/授权!)——如在驱动程序版本、插件ID等中。请考虑检测MSI是对特定已安装软件包的更新

一般来说,我不认为UUID是任何数据结构的特征。我认为它是设计基础设施的工具。它在持久性、交换的层次上发挥作用,而不是在算法和内存操作的层次上发挥作用