移除通过指定测试的相邻元素。
void unique();
template<typename Pred2>
void unique(Pred2 pred);
参数
- pred
元素的比较器对。
备注
第一个成员函数从控件序列 (清除) 移除与其前面的元素相等的每个元素--如果元素 X 位于元素 Y 和 X == Y,成员函数移除 Y。您使用它将移除所有多余相邻元素的每 subsequence 的一个副本相等。请注意,如果控件序列进行排序,例如通过调用 list::sort (STL/CLR)(),成员函数仅保留元素唯一值。(因此名称)。
第二个成员函数的行为与第一个相同,不同之处在于,它将删除每个元素遵循元素 pred(X, Y)的 X 的 Y 。您使用它将移除所有多余相邻元素的每 subsequence 的一个副本满足谓词函数或委托指定。请注意,如果控件序列进行排序,例如通过调用 sort(pred),成员函数将没有等效顺序与任何其他组件仅的元素。
示例
// cliext_list_unique.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// display contents after unique
cliext::list<wchar_t> c2(c1);
c2.unique();
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// display contents after unique(not_equal_to)
c2 = c1;
c2.unique(cliext::not_equal_to<wchar_t>());
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
要求
标题: <cliext/列表>
命名空间: cliext