我正在开发一个Boggle游戏求解器,它可以读取文本文件中的行(即游戏板)。 我一直在思考是应该使用string向量还是char向量矩阵。我认为char向量矩阵更容易访问,因为可以使用myvec[y][x]来访问,而string向量需要使用string.at()函数进行访问。 我不知道如果将每行解析为char或保留为string并根据需要访问每个char哪个性能更好。您有没有任何建议?请给出解释。
如评论所述,您可以像使用 vector 或数组一样在字符串上使用 operator[]。 在适当的优化下,vector<char> 的性能与 string 相当 - 它们都是底层的数组,在这两种情况下,operator[] 将有效地成为一个结构成员访问和间接查找。它们甚至提供了几乎相同的same set methods。 选择使您的代码更可读/简单的任何方法。
[]
。at
提供越界检查。 - chrisoperator[]
实现的。 - chris