对于性能至关重要的操作,以整数/枚举,结构或类的形式表示Card是否有区别?
整数:
0 => Spade King
1 => Spade Queen
2 => Spade Jack
.
.
.
51 => Club Two
Struc:
Struct Card
{
Suit GivenSuit;
Rank GivenRank;
Some functions...
}`
班级:
Class Card
{
Card();
Suit GivenSuit;
Rank GivenRank;
Some functions...
}
答案 0 :(得分:0)
枚举和配对如何?
enum CardsValues {
Ace = 1,2,3,4,5,6,8,9
Jack = 10,
Queen,
King,
}
enum CardColour {
Spade, ...
}
std::pair<CardValue, CardColour> theCard;
答案 1 :(得分:0)
如果卡已在调用类中定义为整数,则访问时间可能比从调用类外部访问类效率更高。
但这可能会对您的解决方案进行微观优化,并在纳秒级的功能v / s效率之间进行权衡。
不能完全确定您的应用程序是什么,但是如果您要编写通用的卡片组,则使用类Card相对于OOP设计原则会更有意义。使用整数将使您的类不可重用且脆弱。