C++ Set 库 - emplace_hint 函数


描述

它返回一个指向新插入元素的迭代器。

宣言

以下是 std::set::emplace_hint 在各种 C++ 版本中的工作方式。

C++98

template <class... Args>
  iterator emplace_hint (const_iterator position, Args&&... args);

C++11

template <class... Args>
  iterator emplace_hint (const_iterator position, Args&&... args);

返回值

它返回一个指向新插入元素的迭代器。

例外情况

如果抛出异常,则容器中不会发生任何变化。

时间复杂度

取决于容器尺寸。

例子

以下示例显示了 std::set::emplace_hint 的用法。

#include <iostream>
#include <set>
#include <string>

int main () {
   std::set<std::string> myset;
   auto it = myset.cbegin();

   myset.emplace_hint (it,"sairam");
   it = myset.emplace_hint (myset.cend(),"krishna");
   it = myset.emplace_hint (it,"prasad");
   it = myset.emplace_hint (it,"Mammahe");

   std::cout << "myset contains:";
   for (const std::string& x: myset)
      std::cout << ' ' << x;
   std::cout << '\n';

   return 0;
}

上面的程序可以正确编译并执行。

myset contains: Mammahe krishna prasad sairam
设置.htm