【发布时间】:2017-04-17 17:31:41
【问题描述】:
我不想将 char 数组转换为 const char 数组,而是在元素获得特定值后使其成为常量。这个,我需要一个井字游戏。当一个格子得到X或O的值时,它需要是不可改变的,以确保玩家不能将X和O放在已经被占用的格子上。
我搜索过它(在 google 和 stackoverflow 上),但到目前为止这似乎是不可能的。这种方法是错误的吗?我不想改变整个程序来解决这个问题,所以我需要一些其他的方法来确保玩家不会改变网格。
【问题讨论】:
-
const是一个编译时特性。听起来您需要根据运行时输入来防止某些内容发生变化。 -
是的,完全是@aschepler。但是我该怎么做呢?
-
你说的是什么类型的数组?普通的旧数据 C 样式数组?
char squares[9]之类的东西? -
这样使用
const特性是不可能的,因为它是一个编译时特性,你需要在编译代码时知道const是什么。可以创建一个自定义的Cell类,其中唯一的突变器检查字符是否为空,但这可能是矫枉过正;更好的解决方案可能是只进行运行时检查,以确保一旦设置值就永远不会更改。
标签: c++ tic-tac-toe