用枚举在C++中创建一个卡片组



我正在练习C++来增强我的技能。我想构建一副牌,并在传入字符串列表时对其进行过滤

{"3c","Js","2d","10h","Kh","8s","Ac","4h"}

过滤后会返回

{"2d"、"8s"、"Js"、"3c"、"Ac"、"4h"、"10h"、"Kh"}

我已经创建了一个名为card_t的结构作为

struct card_t
{
enum class rank_t: unsigned char
{
two = 2,
three = 3,
four = 4,
five = 5,
six = 6,
seven = 7,
eight = 8,
nine = 9,
ten = 10,
jack = J,
queen = Q,
king = K,
ace = A


};

enum class suit_t: unsigned char
{
h,
d,
c,
s
};
};

我的编译器不喜欢rank_t的设置方式,我不知道为什么。如有任何反馈,我们将不胜感激。

这似乎是一个常见的问题,快速搜索就会发现,它似乎在做你想做的事情:http://www.cplusplus.com/forum/beginner/219420/

如果你正在练习CPP,最好的方法是学习使用CPP的STL公共数据结构和算法库。它们是针对性能进行优化的强大工具。更不用说它们非常常见,我想说这是一个"专业"程序员的标志。

相关内容

  • 没有找到相关文章

最新更新