aly*_*lyx 1 c++ string for-loop vector push-back
我觉得这是一个明智的选择,但出于某种原因,我无法理解发生了什么.
当我运行我的代码的这部分,即将URL与数组中的字符串元素组合,然后将其推送到字符串向量时,它会成功推送第一个URL,但之后会出现某种内存泄漏?控制台无限循环乱码......
string anonlist[] = {"test1","test2","test3","test4","test5","test6","test7"};
for (int i=0; i<=7; i++)
{
vector<string> nameurl;
nameurl.push_back("http://api.twitter.com/1/users/show.json?screen_name="+anonlist[i]);
cout << nameurl[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)
索引中有7个项目索引为0 1 2 3 4 5 6.您的循环还将包括i = 7的情况,该情况超出了数组的范围.
另一个问题是您在循环内部声明了向量,这意味着每次循环继续时都会创建一个新向量.你应该在循环之前声明它.
string anonlist[] = {"test1","test2","test3","test4","test5","test6","test7"};
vector<string> nameurl;
for (int i=0; i < 7; i++)
{
nameurl.push_back("http://api.twitter.com/1/users/show.json?screen_name="+anonlist[i]);
cout << nameurl[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)