gpt4 book ai didi

c++ - 2种容器

转载 作者:太空狗 更新时间:2023-10-29 23:34:08 24 4
gpt4 key购买 nike

是否有任何 C++ 容器可以存储 2 种(或更多)类型的值,例如 int 和 char?我想做一个二十一点游戏。牌组必须包含整数和字符。我不想只用数字来初始化它(所以不要说什么!)。我是一个非常的初学者程序员,所以不要让它太复杂。

最佳答案

我假设您需要一个能够存储整数或字符的容器。

首先,看一下 boost::any Boost 中的数据类型,这可能会有所帮助。然后您可以创建一个容器 boost::any实例。

如果你不想使用boost或者看起来有点矫枉过正,使用 union如下:

typedef struct {
char type;
union {
char character;
int integer;
};
} my_struct;

character 的内容和 integer union 中的字段然后占用相同的内存槽。 (好吧,integer 使用更多的插槽,因为字符通常只有一个字节)。然后由您设置 type结构的字段,比如说,'c'如果你存储一个字符,比如说,'i'存储一个整数,然后使用 character 访问结构的内容或 integer字段取决于 type 的值.

最后,还有 QVariant Qt 的数据类型,其工作方式与上述第二种方法类似。

关于c++ - 2种容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5928349/

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