list::unique (STL/CLR)

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

    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

请参见

参考

list (STL/CLR)

list::remove (STL/CLR)

list::remove_if (STL/CLR)

list::sort (STL/CLR)