C++ STL中的multiset::emplace()
多重集是一种类似于集合的关联容器,不同的是多个元素可以具有相同的值。
multiset::emplace()
此函数用于将一个新元素插入到多重集容器中。
语法 :
multisetname.emplace(value)
参数 :
要插入到多重集中的元素
被作为参数传递。
结果 :
该参数被添加到多重集中。
例子:
错误和异常
1. 它有一个强异常保证,因此,如果抛出异常,不会进行任何更改
2. 参数应该与容器的类型相同,否则会抛出错误
输出:
输出:
应用
使用emplace()函数输入以下数字和顺序的空多重集,并找到元素的总和。 emplace()的优点是它避免了对象的不必要复制。
输出:
时间复杂度: O(logn)
emplace() vs insert()
使用 insert 时,我们创建好对象后再将其插入 multiset。而使用 emplace(),对象会原地构造。
输出: