list::insert (STL/CLR)

添加元素在指定的位置。

    iterator insert(iterator where, value_type val);
    void insert(iterator where, size_type count, value_type val);
    template<typename InIt>
        void insert(iterator where, InIt first, InIt last);
    void insert(iterator where,
        System::Collections::Generic::IEnumerable<Value>^ right);

参数

  • count
    元素的数字要插入的。

  • 首先
    范围开头插入的。

  • last
    范围的末尾插入的。

  • right
    要插入的枚举。

  • val
    元素的值要插入的。

  • where
    在对前面插入的容器。

备注

每个成员该成员在元素之前函数插入,指向由 where 在控件序列,其余的操作数指定的序列。

第一个成员函数插入带值 val 的元素并返回指定新插入的元素的迭代器。将它添加到位置之前的一个元素由迭代器指定的插入。

第二个成员函数插入值 val的 count 元素重复。是相同值的所有副本的使用该插入零个或多个连续的元素。

如果 InIt 是整数类型,第三个成员函数的行为与 insert(where, (size_type)first, (value_type)last)相同。否则,会插入序列 [first,last)。将它与另一个序列或多个连续的元素复制的插入零。

该序列由 right指定的第四个成员函数插入。使用到序列由枚举数描述的插入。

在插入一个元素,元素副本数是线性在元素的数目之间中的插入点和序列关闭末尾。(在插入一个或多个组件序列中的任何一端,元素复制不会发生。)如果 InIt 是输入迭代器,第三个成员函数在序列实际执行每个元素的唯一插入。否则,那么,当插入 N 元素时,元素副本数是线性在 N 以及元素的数目之间的插入点和序列关闭末尾。

示例

// cliext_list_insert.cpp 
// compile with: /clr 
#include <cliext/list> 
 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'b'); 
    c1.push_back(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value using iterator 
    cliext::list<wchar_t>::iterator it = c1.begin(); 
    System::Console::WriteLine("insert(begin()+1, L'x') = {0}", 
        *c1.insert(++it, L'x')); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a repetition of values 
    cliext::list<wchar_t> c2; 
    c2.insert(c2.begin(), 2, L'y'); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    it = c1.end(); 
    c2.insert(c2.end(), c1.begin(), --it); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    c2.insert(c2.begin(),   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value using index 
    it = c2.begin(); 
    ++it, ++it, ++it; 
    c2.insert(it, L'z'); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    return (0); 
    } 
 
  

要求

标题: <cliext/列表>

命名空间: cliext

请参见

参考

list (STL/CLR)

list::assign (STL/CLR)