我有正在读入矢量的数据文件。例如:对象矢量搜索未来对象的使用?
West Ham 38 12
Leicester City 38 13
在实际的文件中,名称后面有更多的双打。无论如何,以前我用过这种搜索:
vector<Team>newTeams; //vector of Team objects
string homeName;
cout << "Enter home team name: ";
cin >> homeName;
cout << endl;
Team ht;
for(Team team : newTeams)
{
if(team.getName() == homeTeam)
{
ht = team;
}
}
基本上我会经历一个向量并寻找特定的团队名称。如果我找到团队名称,我将团队分配给ht。然后,我会用HT来获得所需的数据,即:
ht.getHomeGamesPlayed();
ht.getPoints();
ht.getHomeGoalsScored();
所以,我的问题是:有没有为寻求更好的办法(?名称的使用地图双打+矢量):
map<name, vector<doubles>>;
此外,如何使搜索不区分大小写?即我输入莱斯特而不是莱斯特城,而莱斯特城仍然会被挑选出来?
UPD: 好像我想通了,这里如果你有兴趣的代码:
string homeName;
cout << "Name: " << endl;
cin >> homeName;
Team ht;
for (Team team : dataTable) {
if (strstr(team.getName().c_str(), homeName.c_str()))
{
ht = team;
}
}
所以,当我键入Leic它选择莱切斯特城(当我输入leic,这不是” t工作虽然)
无关,但我希望你打算在这个代码的多个地方在哪里复制分配正在发生。显然你的班级还没有涵盖*引用*。 – WhozCraig
当你复制小对象时,复制任务通常是正常的......但是,团队常量&可能会更好...... – Exaeta
@WhozCraig如果你能告诉我如何在我的例子中使用引用,我会超过乐于学习(我现在没有参加任何课程,这只是为了好玩) – illia