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/