两个 vector<string> 的 C++ For 循环及其到​​字符串的位置

标签 c++ for-loop vector

using namespace std;

int main() {
    vector<string> data={"Hello World!","Goodbye World!"};
    for (vector<string>::iterator t=data.begin(); t!=data.end(); ++t) 
    {
        cout<<*t<<endl;
    }
    return 0;
}

但是我有两个 vector ,我需要在特定位置将它们的值转换为字符串,如下所示:

vect = lineget3(nazev_souboru);
vect2 = lineget4(nazev_souboru);

for (a = vect.begin(); a < vect.end(); a++)
{
    string str = *a;
    string str2 = *b;?
}

而且我不知道如何使 str2 = *b(vect2 的位置)。 如何在特定位置为两个 vector 制作for循环?

我做不到

for (a = vect.begin(); a < vect.end(); a++)
{
    for (b = vect2.begin(); b < vect2.end(); b++)
    {
        string str = *a;
        string str2 = *b;
    }
}

为此我只需要一个循环。谢谢。

最佳答案

如果 vector 的长度相同,你可以这样做:

for (auto a = vect.begin(), b = vect2.begin(); a < vect.end() && b < vect2.end(); ++a, ++b) {
    string str = *a;
    string str2 = *b;
}

如果它们的大小不同,它不会工作循环将不会遍历较大 vector 的所有元素。

关于两个 vector<string> 的 C++ For 循环及其到​​字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52815115/

相关文章:

c++ - 为什么 QString 和 vector<unique_ptr<int>> 在这里显得不兼容?

c++ - 将迭代器传递给函数

c++如何获取具有结构类型的 vector 的大小

c++ - C++如何从引用中获取值

c++ - C/C++ 文件输出缓冲/缓冲区移交给操作系统

javascript - 循环对象和循环数组的嵌套 for 循环

java - "Magic Number"java练习

c++ - 未初始化的变量被使用

c++ - 在 for 循环中使用 end() 时无法访问双向链表中的最后一个元素

Python将文件解析为列表列表字典: for loop is only appending last line