std :: map :: insert change in C 17
发布时间:2020-12-12 16:54:27 所属栏目:MsSql教程 来源:网络整理
导读:我看到std :: map和std :: unordered_map的insert方法将会从中更改 templateclass P std::pairiterator,bool insert(P value); (C++11) 至 std::pairiterator,bool insert(value_type value); (C++17) 但是,对于这些容器,value_type是std :: pair A const,int
我看到std :: map和std :: unordered_map的insert方法将会从中更改
template<class P> std::pair<iterator,bool> insert(P&& value); (C++11) 至 std::pair<iterator,bool> insert(value_type&& value); (C++17) 但是,对于这些容器,value_type是std :: pair< A const,int>.这里有两个问题: 为什么这个变化?有什么好处? 谢谢! 解决方法在C 17中添加了一个附加的非模板重载插入.这种重载的优点在于它允许基于语法 – {}的.insert({{key},{value,args}}).模板参数不能通过{}基于构造指令而没有显式类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |