将特定大小的向量传递给函数

Syb*_*ian 0 c++

/* 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);
  /*...*/
};
Run Code Online (Sandbox Code Playgroud)

构造函数需要一个卡片向量.该类的内部逻辑基于给定向量由7张卡组成的假设.但我不是在控制它.我可以cardseq.size() != 7在构造函数中抛出异常.但是有没有其他方法通过控制初始化向量的大小来保持类实例的行为有意义?

sfj*_*jac 6

如果您的数据结构总是7个卡的数组,那么为什么不使用std::array<CardPtr, 7>