即使您尝试通过提供子字符串来查找,Vector查找函数也可以搜索插入的值。这是否与地图的键相同?查找向量中的函数和地图的键
int main()
{
vector<string> v;
v.push_back("text");
v.push_back("[[text");
v.push_back("text");
for (unsigned i = 0; i < v.size(); i++)
{
if (v[i].find("[[") == 0)
{
v[i].append("]]");
}
}
}
这里它找到“[[text]”并使其成为[[text]]“。
我在地图上试过了,但运行时代码崩溃了。我使用的开发的C++
int main()
{
std::multimap<string, string> m;
std::multimap<string, string> intersection;
std::multimap<string, string>::iterator it8;
m.insert(pair< string, string>("4-2"," 61-7"));
m.insert(pair< string, string>("5-2"," 61-7"));
multimap<string, string>::iterator it4;
multimap<string, string>::iterator it5;
for (it4 = m.begin(); it4 !=m.end(); it4++)
{
if (m.find("5-") == 0)
it5=it4;
}
cout << " result of 5 search is" << (*it5).first << ", " << (*it5).second <<endl;
m.clear();
getchar();
}
你从来没有使用任何“矢量查找功能”,并且实际上不存在这样的功能。 – 2012-01-08 17:30:26
@KerrekSB ok,所以这是一个Strung查找函数或其他东西,但如果你尝试在地图中有一个键和值作为字符串它不会获取你找到部分字符串的结果在这里作为“[[[”已通过。但是,如果我们只有钥匙,而不是钥匙价值的概念设置为地图,那么这会找到工作吗? – Invictus 2012-01-08 17:33:18
查看Wilx的答案:集合和映射具有不可变的键,所以你只能得到一个'const string&'给他们。 'find'仍然有效,但是'append'不起作用。 – 2012-01-08 17:34:51