/* Class Hand represents a hand in Hold'em poker.
Namely the best 5 cards formed from 7 cards: 2 player's pocket cards
and 5 cards from the board.*/
class Hand {
public:
Hand(const std::vector<CardPtr>& cardseq);
/*...*/
};
构造函数需要一个卡片向量。该类的内部逻辑基于给定向量由7张卡组成的假设。但是我没有控制它。我可以在构造函数中cardseq.size() != 7
时抛出异常。但是有没有其他方法通过控制初始化向量的大小来保持类实例的行为有意义?
答案 0 :(得分:6)
如果您的数据结构始终是7张卡的数组,那么为什么不使用std::array<CardPtr, 7>
?