即使您嘗試通過提供子字符串來查找,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