0
我想了解如何在地圖上查找以boost :: tuple形式存在的鍵,其中Compare=std::less
。舉例來說,這是代碼的我工作的片段:使用boost :: tuple作爲鍵的映射查找
typedef boost::tuple<std::string, std::string> Key;
void *Data;
typedef std::map<Key, Data> FileDataMap;
FileDataMap file_map;
lookup_data(std::string s1, std::string s2)
{
...
fk = boost::make_tuple(s1, s2);
FileDataMap::iterator itr = file_map.find(fk);
...
...
}
insert_data(std::string s1, std::string s2, void *fdata)
{
...
fk = boost::make_tuple(s1, s2);
file_map.insert(std::make_pair(fk, fdata));
...
...
}
在插入值到地圖的時候,我們假設s1
爲abc
和s2
是xyz
。在查找過程中,關鍵匹配是如何確定的?
分別是s1
和s2
與abc
和xyz
分別完成的字符串比較?如果是這樣,那麼std::string
比較運算符是否被使用?
謝謝!