list (STL/CLR)

此模板类描述用于控制双向访问的变长元素序列的对象。 使用容器 list 管理元素序列,就像节点双向链接列表,每个都存储的一个元素。

在下面的解释中,GValue 与 Value 相同,除非后者是 ref (引用)类型,在这种情况下,它是 Value^。

template<typename Value>
    ref class list
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        Microsoft::VisualC::StlClr::IList<GValue>
    { ..... };

参数


  • 受控序列中的元素的类型。

成员

类型定义

说明

list::const_iterator (STL/CLR)

受控序列的常量迭代器的类型。

list::const_reference (STL/CLR)

元素的常量引用的类型。

list::const_reverse_iterator (STL/CLR)

这种类型的常量为受控序列存储迭代器。

list::difference_type (STL/CLR)

两个元素间的带符号距离的类型。

list::generic_container (STL/CLR)

泛型接口的容器适配器类型。

list::generic_iterator (STL/CLR)

有关容器的泛型接口的迭代器的类型。

list::generic_reverse_iterator (STL/CLR)

与容器的泛型接口一起使用的迭代器的类型。

list::generic_value (STL/CLR)

有关容器的泛型接口的元素的类型。

list::iterator (STL/CLR)

受控序列的迭代器的类型。

list::reference (STL/CLR)

元素的引用的类型。

list::reverse_iterator (STL/CLR)

受控序列的反转迭代器的类型。

list::size_type (STL/CLR)

两个元素间的带符号距离的类型。

list::value_type (STL/CLR)

元素的类型。

成员函数

说明

list::assign (STL/CLR)

替换任何元素。

list::back (STL/CLR)

访问最后一个元素。

list::begin (STL/CLR)

指定受控序列的开头。

list::clear (STL/CLR)

移除所有元素。

list::empty (STL/CLR)

测试元素是否存在。

list::end (STL/CLR)

指定受控序列的末尾。

list::erase (STL/CLR)

移除指定位置处的元素。

list::front (STL/CLR)

访问第一个元素。

list::insert (STL/CLR)

添加元素到一个指定位置处。

list::list (STL/CLR)

构造容器对象。

list::merge (STL/CLR)

合并两个有序受控序列。

list::pop_back (STL/CLR)

移除最后的元素。

list::pop_front (STL/CLR)

移除第一个元素。

list::push_back (STL/CLR)

添加新的末尾元素。

list::push_front (STL/CLR)

添加新的第一个元素。

list::rbegin (STL/CLR)

指定反转的受控序列的开头。

list::remove (STL/CLR)

移除具有指定键值的元素。

list::remove_if (STL/CLR)

移除通过指定测试的元素。

list::rend (STL/CLR)

指定反转的受控序列的末尾。

list::resize (STL/CLR)

更改元素的数量。

list::reverse (STL/CLR)

对受控序列进行反转。

list::size (STL/CLR)

计算元素的数量。

list::sort (STL/CLR)

对受控序列进行排序。

list::splice (STL/CLR)

节点之间的 Restitches 链接。

list::swap (STL/CLR)

交换两个容器的内容。

list::to_array (STL/CLR)

复制控制序列到新数组。

list::unique (STL/CLR)

移除通过指定测试的相邻元素。

Property

说明

list::back_item (STL/CLR)

访问最后一个元素。

list::front_item (STL/CLR)

访问第一个元素。

运算符

说明

list::operator= (STL/CLR)

替换控件序列。

operator!= (list) (STL/CLR)

确定 list 对象是否等与不等于另一 list 对象。

operator< (list) (STL/CLR)

确定 list 对象是否小于另一 list 对象。

operator<= (list) (STL/CLR)

确定一个 list 对象是否小于或等于另一个list对象。

operator== (list) (STL/CLR)

确定 list 对象是否等于另一 list 对象。

operator> (list) (STL/CLR)

确定 list 对象是否大于另一 list 对象。

operator>= (list) (STL/CLR)

确定一个 list 对象是否大于或等于另一个list对象。

接口

接口

说明

ICloneable

复制对象。

IEnumerable

元素的序列。

ICollection

维护元素组。

IEnumerable

输入元素的序列。

ICollection

维护输入元素组。

IList<Value>

维护泛型容器。

备注

对象将它控制序列中未使用助记域,当一双向链接列表的各个节点。 它通过修改节点之间的链接从不重新排列元素,通过复制一节点内容到另一个。 这表示您可以自由插入和移除元素,而不干扰的其余元素。 因此,该列表为基础容器的理想候选项模板类queue (STL/CLR) 或模板类stack (STL/CLR)

list集合支持双向迭代器,这意味着可以单步执行到给定的相邻元素迭代器指定控制在序列中的元素。 特定头节点对应于 list::end (STL/CLR)()返回的迭代器。 如果有,可以减小此迭代器达到控制序列中的最后一个元素。 您可以将列表迭代器增加到头节点,则将与 end()比较。 但是,您无法取消引用 end()返回的迭代器。

注意不可以直接引用基于数字的列表集合的元素--这要求一个随机访问迭代器。 因此列表为 not 用作模板类的 priority_queue (STL/CLR)基础容器。

列表迭代器存储其关列表合节点的句柄,而后者存储其关联的容器的句柄。 只可以在与它们关联的容器对象上使用迭代器。 只要关联列表节点与某些列表关联,迭代器列表保持有效。 而且,有效的迭代器是可重复引用的--可以用来访问或修改指定的元素值--只要它不等于 end()。

调用析构函数清除或移除元素的存储值。 销毁容器会清除所有元素。 因此,元素类型为参考类的容器确保元素存在容器内。 但是,注意容器的处理执行销毁 not 元素。

要求

标头: <cliext/list>

命名空间: cliext

请参见

参考

deque (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

其他资源

STL/CLR 库参考