std::forward_list<T,Allocator>::remove, remove_if
来自cppreference.com
                    
                                        
                    < cpp | container | forward list
                    
                                                            
                    
|   void remove( const T& value );  | 
 (C++11 起)  (C++20 前)  | 
|
|   size_type remove( const T& value );  | 
(C++20 起) | |
|   template< class UnaryPredicate > void remove_if( UnaryPredicate p );  | 
 (C++11 起)  (C++20 前)  | 
|
|   template< class UnaryPredicate > size_type remove_if( UnaryPredicate p );  | 
(C++20 起) | |
移除所有满足特定标准的元素。第一版本移除所有等于 value 的元素,第二版本移除所有谓词 p 对它返回 true 的元素。
参数
| value | - | 要移除的元素的值 | 
| p | - |  若应该移除该元素则返回 true 的一元谓词。 对每个(可为 const 的)   | 
返回值
| 
 (无)  | 
(C++20 前) | 
| 
 移除的元素数。  | 
(C++20 起) | 
复杂度
与容器大小成线性
示例
运行此代码
#include <forward_list> #include <iostream> int main() { std::forward_list<int> l = { 1,100,2,3,10,1,11,-1,12 }; l.remove(1); // 移除两个等于 1 的元素 l.remove_if([](int n){ return n > 10; }); // 移除全部大于 10 的元素 for (int n : l) { std::cout << n << ' '; } std::cout << '\n'; }
输出:
2 3 10 -1
参阅
|   移除满足特定判别标准的元素   (函数模板)  |