gpt4 book ai didi

C++ 唯一持久类标识符

转载 作者:行者123 更新时间:2023-11-28 06:56:01 26 4
gpt4 key购买 nike

目标:

我有许多派生类(稍后可能会有其他派生类)存储在树结构中,我想将这些类中的每一个序列化到一个原型(prototype)缓冲区中,然后加密二进制数据(由 SerializetoArray 提供)。但是这些类中的每一个都应该使用不同的 key 进行加密。所以很明显,如果我想解密它,我需要知道使用哪个 key 进行加密。

问题:

有没有一种简单的方法可以为每个类分配一个唯一的整数,以便在每个系统(Linux、MacOS、Windows 等)的运行时和类的每个实例中,该数字都相同? (如果类获得版本更新,它也不应该改变。)

一个明显的解决方案是手动定义一个数字,但这在以后将不切实际,因为我希望这些派生类中的许多将由社区设计,因此几乎不可能保证它们的唯一性.

有没有更好的解决方案?

最佳答案

这是我的两分钱:

为每个类添加一个静态常量成员变量,具有所需的值。

这样,同一类的每个实例将始终具有完全相同的值。像这样的东西:

class MyClassA
{
static const int myVal = 1;
public:
inline myVal() const { return myVal; }
}

class MyClassB
{
static const int myVal = 2;
public:
inline myVal() const { return myVal; }
}

例如,为了避免重复的值,您可以从枚举中创建并分配它们。

关于C++ 唯一持久类标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23169117/

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