移动构造函数(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