【发布时间】:2012-05-16 12:19:37
【问题描述】:
我正在开发一个Boggle 游戏求解器,它可以读取文本文件(棋盘)的行。
如果我应该使用strings 的vector 或chars 的vector 矩阵,我一直在反复考虑。我认为chars 的vector 会更容易访问,因为myvec[y][x] 的vector 需要我使用strings 的string.at() 函数。
我不知道如果我应该将每一行解析到chars 或将行保留为string 并根据需要访问每个char,哪个会有更好的性能。关于我应该做哪一个的任何建议?解释为什么会很有帮助。
【问题讨论】:
-
您也可以将
[]与字符串一起使用。at提供越界检查。 -
@chris Oh 从来没有用字符串尝试过。好吧,这几乎解决了我的问题,因为字符串向量会更容易。谢谢。
-
字符串比字符数组好得多。如果可以,请始终选择它们。如您所知,语法可以通过字符串类重载
operator[]。 -
@chris:虽然这通常是个好建议,但为什么对于 Boggle 游戏而不是(基本上)二维数组
char更好?您不太可能将一行视为string? -
@Johnsyweb,哎呀,我错过了令人难以置信的部分!事实上,字符数组对于这样的事情肯定会更好。那里的问题标题有点误导。如果字符序列具有某种意义,则应始终选择字符串。