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

Passing a vector of specific size to a function

本文关键字:函数 向量      更新时间:2023-10-16
/* 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时抛出异常。但是有没有其他方法可以通过控制初始化向量的大小来保持类实例的行为有意义?

如果你的数据结构总是一个由 7 张卡组成的数组,那么为什么不使用 std::array<CardPtr, 7> 呢?