此问题在此处已有答案:
Initializing a two-dimensional std::vector(13个回答)
2天前关闭。
我偶然发现了这段代码,用来构建一个井字游戏,但不知道它是什么意思。有人能简单地解释一下吗?
std::vector<std::vector<char>> board(3, std::vector<char>(3, ' '));
字符串
上下文:
void drawBoard(const std::vector<std::vector<char>> &board)
{
for (const auto &row : board)
{
for (char cell : row)
{
std::cout << cell << " ";
}
std::cout << std::endl;
}
}
int main()
{
std::vector<std::vector<char>> board(3, std::vector<char>(3, ' '));
char currentPlayer = 'X';
int row, col;
bool gameOver = false;
型
1条答案
按热度按时间hiz5n14c1#
该行使用
std::vector
s constructors之一,两次:字符串
此构造函数用于初始化
vector
,其中value
的副本数为count
。所以这...
型
...构造一个
char
的vector
,其中有三个元素,所有元素都被初始化为' '
(空间)。在这个...
型
.
value_type
是std::vector<char>
,它制作了std::vector<char>(3, ' ')
的三个副本(上图中的2个)(上图中的1个),这使得char
的3x3游戏板全部初始化为' '
。