c++ - 将特定大小的 vector 传递给函数

标签 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);
  /*...*/
};

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

最佳答案

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

关于c++ - 将特定大小的 vector 传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858737/

相关文章:

c++ - 模板参数 2 和 1 无效 - 声明 vector

c++ - 显示功能不起作用

c++ - 为什么打印出指向未初始化变量的指针会导致段错误?

c++ - Boost::ASIO - 如何使用 2 个线程来处理接收和发送消息

c++ - __mm128 的 vector 不会 push_back()

带有自定义内存分配器的 std::vector 的 C++ 模板

c++ - 如何在不使用媒体转换管道的情况下在 Windows 应用程序中使用 MFT

c++ - 用于重载的通用类成员函数

java - 对十亿整数求和时,c 比 java 慢

c++ - 构造函数中的错误控制