gpt4 book ai didi

c++ - UUID 和 uuid_t 数据类型在赋值后可以更改吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:33 28 4
gpt4 key购买 nike

WinAPI UUID 分配后可以更改吗? Linux uuid_t 分配后可以更改吗?

例如(与UUID相关的示例,但对于uuid_t有同样的问题):

class Component
{
public:
UUID id; // considering whether to make this public or not

Component()
{
UuidCreate(&id);
}
};

Component c;
UuidCreate(c.id); // can it be changed after already being assigned? Is it constant?

最佳答案

是的,UUIDuuid_t都只是包含一系列整数的结构。如果任何消费者可以获得对它的非 const 的引用,那么它将能够修改它。

如果您不希望消费者更改您的 UUID,最好的方法是使其成为 private 成员,并仅通过返回 const 引用的访问器将其公开给外界:

class Component
{
public:
Component()
{
UuidCreate(&id);
}

const UUID& GetId() const
{
return id;
}

private:
UUID id;
};

关于c++ - UUID 和 uuid_t 数据类型在赋值后可以更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34486998/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com