vector <string>或vector&lt; vector <char>&gt;?</char> </string>

时间:2012-05-08 01:43:58

标签: c++ matrix vector boggle

我正在研究一个Boggle游戏求解器,它可以读取文本文件的行(板)。

如果我应该使用vector stringvector char矩阵,我一直在来回走动。我认为vector的{​​{1}}会更容易访问,因为chars myvec[y][x] vector要求我使用string功能。

如果我应该将每一行解析为string.at()或将该行保留为char并根据需要访问每个string,我不知道哪个会有更好的效果。我应该做哪些建议?解释为什么会有所帮助。

1 个答案:

答案 0 :(得分:4)

如评论所示,您可以在字符串上使用operator[],就像vector或数组一样。

在适当的优化下,vector<char>的性能与string的性能大致相同 - 两者都是引擎盖下的数组,在这两种情况下operator[]实际上都是结构成员访问和间接查找。他们甚至提供了same set methods的{{3}}。

选择使您的代码更具可读性/简单性的代码。