std::list::list
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
explicit list( const Allocator& alloc = Allocator() ); |
(1) | |
explicit list( size_type count, const T& value = T(), |
(2) | (至 C++11) (C++11 起) |
explicit list( size_type count ); |
(3) | (C++11 起) |
template< class InputIt > list( InputIt first, InputIt last, |
(4) | |
list( const list& other ); |
(5) | |
list( const list& other, const Allocator& alloc ); |
(5) | (C++11 起) |
list( list&& other ) |
(6) | (C++11 起) |
list( list&& other, const Allocator& alloc ); |
(6) | (C++11 起) |
list( std::initializer_list<T> init, const Allocator& alloc = Allocator() ); |
(7) | (C++11 起) |
从各种数据源和构建新的容器,可以使用用户提供的分配器
alloc
.原文:
Constructs new container from a variety of data sources and optionally using user supplied allocator
alloc
.1)
默认构造函数。构造空的容器.
原文:
Default constructor. Constructs empty container.
2)
构造容器元素的值
count
value
副本.原文:
Constructs the container with
count
copies of elements with value value
.3)
构造
count
初始化的值(缺省构造,类)的实例T
的容器。没有副本.原文:
Constructs the container with
count
value-initialized (default constructed, for classes) instances of T
. No copies are made.4)
构造的容器的内容的范围内
[first, last)
.原文:
Constructs the container with the contents of the range
[first, last)
.5)
拷贝构造函数。副本的内容
other
构造的容器。 alloc
不提供,分配器是通过调用std::allocator_traits<allocator_type>::select_on_copy_construction(other).原文:
Copy constructor. Constructs the container with the copy of the contents of
other
. If alloc
is not provided, allocator is obtained by calling std::allocator_traits<allocator_type>::select_on_copy_construction(other).6)
移动的构造函数。构造的容器与内容
other
使用移动语义。 alloc
不提供,分配器是通过移动建设属于other
从分配器.原文:
Move constructor. Constructs the container with the contents of
other
using move semantics. If alloc
is not provided, allocator is obtained by move-construction from the allocator belonging to other
.7)
构造容器初始化列表的内容
init
原文:
Constructs the container with the contents of the initializer list
init
. 目录 |
[编辑] 参数
alloc | - | 使用这个容器中的所有内存分配的分配器
原文: allocator to use for all memory allocations of this container |
count | - | 的容器的大小
|
value | - | 的值初始化容器的元素
原文: the value to initialize elements of the container with |
first, last | - | 取值范围为从复制元素
|
other | - | 要用作源初始化容器的元素与另一个容器
原文: another container to be used as source to initialize the elements of the container with |
init | - | 的初始化列表初始化容器元素
原文: initializer list to initialize the elements of the container with |
类型要求 | ||
-InputIt 必须满足 InputIterator 的要求。
|
[编辑] 复杂性
1)
常数
2-3)
线性
count
4)
first
和last
之间的距离呈线性关系原文:
Linear in distance between
first
and last
5)
线性大小
other
6)
常数。如果
alloc
,并给出alloc != other.get_allocator(),则采用线性.原文:
Constant. If
alloc
is given and alloc != other.get_allocator(), then linear.7)
线性大小
init
[编辑] 为例
#include <list> #include <string> int main() { // c++11 initializer list syntax: std::list<std::string> words1 {"the", "frogurt", "is", "also", "cursed"}; // words2 == words1 std::list<std::string> words2(words1.begin(), words1.end()); // words3 == words1 std::list<std::string> words3(words1); // words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"} std::list<std::string> words4(5, "Mo"); return 0; }
[编辑] 另请参阅
将值分配到容器中 (公共成员函数) | |
将值分配到容器中 (公共成员函数) |