为什么std::map::insert文档引用了一个不存在的键参数



我正在查看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);

然后,insert的特定实现的返回值的后续描述如下。。。

带有提示(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));

最新更新