I'm working on a Boggle game solver that would read lines of a text file (the board).
I've been going back and forth if I should use a vector
of string
s or a vector
matrix of char
s. I'm thinking the vector
of chars
would be easier to access as it would be myvec[y][x]
where the vector
of string
s would require me to use the string.at()
function.
I don't know which would have a better performance if I should parse each line in to the char
s or leave the line as a string
and access each char
as needed. Any suggestions on which one I should do? Explaining why would be helpful.
As commented, you can use operator[]
on strings just like vector
s or arrays.
Under proper optimisation, the performace will be about the same for vector<char>
as for string
- both are arrays under the hood, and in both cases operator[]
will effectively be a structure member access and an indirect lookup. They even provide almost the same set of methods.
Choose whichever makes your code more readable/simple.