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 likevector
s or arrays.Under proper optimisation, the performace will be about the same for
vector<char>
as forstring
- both are arrays under the hood, and in both casesoperator[]
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.