我正在查看std::map::insert的文档。
带有“提示”的函数签名定义如下。...
with hint (2)
iterator insert (const_iterator position, const value_type& val);
template <class P> iterator insert (const_iterator position, P&& val);
然后对该插入的特定实现的返回值的后续描述如下...
带有提示(2)的版本返回一个迭代器,该迭代器指向 新插入的元素或已具有 地图中的等效键。
但这没有任何意义,因为我从未提供过键作为此函数的参数,而只是提供了一个值。
那它到底会返回什么?
答案 0 :(得分:2)
您的密钥是您传递给value_type
的价值的一部分。
您可以像下面那样传递值,其中“ 1”是键,“ 100”是值。
std::pair<int,int>(1,100)
或
std::make_pair(1, 100)
示例:
std::map<int, int> testmap;
testmap.insert(testmap.begin(),std::make_pair(1, 100));
testmap.insert(testmap.begin(),std::pair<int,int>(2, 100));