我正在创建一个带对象的类,并为其分配一个唯一的ID号。没什么特别的,它接收对象,为其分配一个数字,然后为下一个将收到ID号的对象递增ID计数器。
我想称呼成员UUID或GUID代表通用唯一标识符或全局唯一标识符,因为这种语言对于成员的含义非常明确。
但是我查了一下这个词,维基百科说:
通用唯一标识符(UUID)是一个128位数字,用于 识别计算机系统中的信息。 UUID
这使我认为这些术语具有非常具体的含义,并且可能我仅将其赋予每个对象一个唯一的数字来使用是不合适的。我正在考虑使用32位int等。
这是UUID或GUID的不正确使用吗?我认为这无关紧要,但是我正在用C ++编写。
答案 0 :(得分:2)
是的,我认为这将是对这些术语的滥用。 UUID中的 Universally 或GUID中的 globally 表示,该标识符不仅在您的特定系统中是唯一的,而且在为任何开发的任何系统中也是唯一的目的,在任何地方。您仅为每个新实体递增的32位整数不具有该属性。它在您的系统中可能是唯一的,但不是普遍的。我会称之为Identifier
或类似名称。
答案 1 :(得分:1)
您将找到答案here。在C ++中,您有一种创建guid的方法:
GUID gidReference;
HRESULT hCreateGuid = CoCreateGuid( &gidReference );
这是什么意思:
CoCreateGuid函数调用RPC函数UuidCreate,该函数 创建一个GUID,这是一个全局唯一的128位整数。使用CoCreateGuid 当您需要一个绝对唯一的数字时,可以将其用作 分布式环境中的持久标识符。 确定性,此函数返回唯一值-没有其他值 在相同或任何其他系统(是否联网)上的调用 返回相同的值。
当我们潜水时会看到:
出于安全原因,通常希望保留以太网地址 在网络上无法在公司或组织外部使用。 UuidCreate函数生成的UUID不能跟踪到 生成它的计算机的以太网地址。它也是 不能与在同一台计算机上创建的其他UUID关联。如果 您不需要此安全级别,则您的应用程序可以使用 UuidCreateSequential函数,其行为与UuidCreate完全相同 该功能适用于所有其他版本的操作系统。
我暗淡它很重要,因此您不仅会知道自己滥用了它,而且还会知道原因,因为在将来,这些信息可能对您很重要。