You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++枚举数组疑问:Square chessBoard[8][8]的作用解析

关于Square chessBoard[8][8]的通俗解释

先理清楚基础概念,再拆解这句代码:

1. 先看你定义的enum Square

你写的enum Square其实是给棋盘格子的所有可能状态起了「好记的名字」:

  • Empty=0代表格子是空的,后面的Pawn(兵)、Rook(车)这些会自动依次对应1、2、3...(本质都是整数,但用名字写代码比写数字直观多了)

2. 拆解Square chessBoard[8][8]

这句是创建一个对应国际象棋棋盘的二维数组,逐部分看:

  • Square:规定了这个数组里每个位置只能存enum Square里的那些状态值(Empty、Pawn、Rook等),就像int arr[5]是存整数的数组,这里是存棋盘格子状态的数组。
  • chessBoard:是这个数组的名字,你可以把它当成整个棋盘的代号,后续操作棋盘都要用到它。
  • [8][8]:对应国际象棋8行8列的布局。第一个[8]代表行数,第二个[8]代表列数。编程里计数从0开始,所以chessBoard[0][0]是棋盘左上角的格子,chessBoard[7][7]是右下角的格子。

3. 结合代码里的赋值理解

代码里chessBoard[0][0] = chessBoard[0][7] = Rook;,就是把第一行最左和最右的两个格子,设置为「车(Rook)」的状态,这正好对应真实国际象棋开局时车的位置。

内容的提问来源于stack exchange,提问作者AShearman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:42:44