does it take constant time to move the iterator to elements of string in following:
std::string str // string of size 100 MB
std::string::iterator iter = str.begin();
std::advance(iter, str.size()-1);
would it take constant time as in searching by index?
char c = str[str.size()-1];