当我使用int遍历向量时(例如i),我可以轻松地说:
vector<string> V;
V[i][g]
其中(int)g是V [i]中字符串的第g个字符
当我处于循环中并希望继续迭代时,尽管我将在运行中删除项目(从V中删除),我想使用:
vector<string>::iterator it;
然后,我认为V [i]的第g个字符在循环中应该是:
for (it = V.begin() ; it != V.end() ; it++)
*it[g]
或更合理地说:
it[g]
一点都不起作用...谁能告诉我如何在使用迭代器的变体中获得V [i]的第g个字符?
答案 0 :(得分:2)
你想做的是
for (std::vector<std::string>::iterator it = V.begin(); it!=V.end(); it++) {
std::cout << *it << std::endl; // whole string
std::cout << (*it)[2] << std::endl; // third letter only
}