我是C ++的新手,我只是想知道如何从向量中删除和添加字符串。我已经尝试了几个实现,但程序似乎没有用。
//allows the user to list thier top 10 video games
cout << "Please list your Top 10 favourite video games below.\n";
string gameTitle;
vector<string> gameList(10);
cin >> gameTitle;
gameList.insert(gameList.begin(), gameTitle);
//prints out the game list
vector<string>::iterator iterGameList;
cout << "Your Top 10 video games are:\n";
for (iterGameList = gameList.begin(); iterGameList != gameList.end() ++iterGameList)
{
cout << *iterGameList << endl;
}
//allows the use to remove a game title from the list
对此的任何帮助将不胜感激。 附:我是否必须通过迭代器将find()传递给erase()。
答案 0 :(得分:1)
到目前为止,将项目添加到vector
的最常用方法是使用push_back
,例如:
vector<string> gameList;
for (int i=0; i<10; i++) {
std::string game;
std::cin >> game;
gameList.push_back(game);
}
要删除您使用的项目erase
。例如,要删除向量中当前的所有项目,可以使用:
gameList.erase(gameList.begin(), gameList.end());
...虽然删除所有内容是一个足够普遍的操作,但clear()
可以完全执行此操作。
答案 1 :(得分:0)
而不是gameList.insert(gameList.begin(), gameTitle);
使用gameList.push_back(gameTitle);
查看文章以获取有关push_back的信息: http://www.cplusplus.com/reference/vector/vector/push_back/