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

How to point to n'th char from string in vector C++

本文关键字:字符 字符串 向量 C++      更新时间:2023-10-16

当我使用 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
    }