如何从向量C ++中的字符串指向第n个字符

时间:2019-03-30 13:42:53

标签: c++ vector iterator

当我使用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个字符?

1 个答案:

答案 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
    }