C++ Language/Std/Strings/StringClass/Indexing
Like any STL collection, you could iterate through string data using std::string::iterator
.
A std::string
object uses contiguous memory for storing its characters.
Application code is allowed to directly access the un-terminated character data (either via char* pcVar = &strVar[0];
or char* pcVar = strVar.data();
) as long as it stays within the string's allocation area, and finishes its work before the next std::string
operation.
More conveniently, strVar.c_str()
is like strVar.data()
except that c_str()
temporarily adds a '\0'
at the end of the data-characters (making the buffer temporarily compatible with C-Runtime functions).
Additional information about string indexing (includes interactive examples)