首页 > 解决方案 > 哪种表达卡片的方式更有效?整数、结构还是类?

问题描述

对于性能关键操作,以整数/枚举、结构或类的形式表示卡片有区别吗?

整数:

0 => Spade King
1 => Spade Queen
2 => Spade Jack 
. 
. 
. 
51 => Club Two

结构:

 Struct Card
 {
      Suit GivenSuit;
      Rank GivenRank;

      Some functions... 
 }`

班级:

 Class Card
 {
      Card();

      Suit GivenSuit;
      Rank GivenRank;

      Some functions... 
 }

标签: classoptimizationvisual-c++data-structures

解决方案


枚举和配对怎么样。

enum CardsValues {
  Ace = 1,2,3,4,5,6,8,9
  Jack = 10,
  Queen,
  King,
}

enum CardColour {
 Spade, ...
}
std::pair<CardValue, CardColour> theCard;

推荐阅读