节点之间的 Restitch 链接。
void splice(iterator where, list<Value>% right);
void splice(iterator where, list<Value>% right,
iterator first);
void splice(iterator where, list<Value>% right,
iterator first, iterator last);
参数
首先
拼接的范围开头。last
交错范围的末尾。right
拼接的容器)。where
在以前耦合的容器。
备注
序列控件由 right 在控件序列的元素之前指向由 where的第一个成员函数插入。它从 right还移除所有元素。(%right 无法等于 this。)使用该耦合任何一个列表到另一个。
第二个成员函数移除元素指向由中的 first 顺序控件由 right 并粘贴在元素之前在控件序列指向由 where。(如果 where==first||where== ++first,未发生更改。)使用该耦合单个元素的列表到另一个。
[指定的子范围first,从的last) 顺序控件由 right 在控件序列的元素之前指向由 where的第三成员函数插入。它还从撤消基元指定子范围序列控件由 right。(如果 right==this,大小 [first,last) 不得包含元素指向由 where。)使用该耦合零 subsequence 或某个的多个元素列表到另一个。
示例
// cliext_list_splice.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();
// splice to a new list
cliext::list<wchar_t> c2;
c2.splice(c2.begin(), c1);
System::Console::WriteLine("c1.size() = {0}", c1.size());
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// return one element
c1.splice(c1.end(), c2, c2.begin());
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// return remaining elements
c1.splice(c1.begin(), c2, c2.begin(), c2.end());
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
System::Console::WriteLine("c2.size() = {0}", c2.size());
return (0);
}
要求
标题: <cliext/列表>
命名空间: cliext