目录

移动构造函数(Move constructor)

描述 (Description)

C ++构造函数std::set::set() (Initializer-List Constructor)使用初始化列表init的内容构造一个set容器

声明 (Declaration)

以下是std :: set header中std :: set :: set()初始化列表构造函数的声明。

C++11

set (initializer_list<value_type> init,
     const key_compare& comp = key_compare(),
     const allocator_type& alloc = allocator_type());

C++14

set (initializer_list<value_type> init,
     const key_compare& comp = key_compare(),
     const allocator_type& alloc = allocator_type());
set (initializer_list<value_type> init,
     const allocator_type& alloc = allocator_type());

参数 (Parameters)

  • alloc - 将迭代器输入到初始位置。

  • comp - 比较函数对象,用于所有键的比较

  • init -init是一个initializer_list对象,用于初始化set容器元素。 设置容器中存在的元素是value_type (成员类型)

返回值

构造函数永远不会返回任何值。

异常 (Exceptions)

如果抛出任何异常,此成员函数不起作用。

时间复杂

N log(N)一般,其中N = init.size();

否则,在N中是线性的,即如果init已经排序则为O(N)。

例子 (Example)

以下示例显示了std :: set :: set()(initializer_list)构造函数的用法。

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
   // Initializer list constructor
   std::set<std::string> fruit {
      "orange", "apple", "mango", "peach", "grape"
   };
   std::cout << "Size of set container fruit is : " << fruit.size();
   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

Size of set container fruit is : 5
↑回到顶部↑
WIKI教程 @2018