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

最佳答案

你想做的是

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
    }

关于c++ - 如何在 vector C++中从字符串指向第n个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55432028/

10-09 06:33
查看更多