fork download
  1. #include <iostream>
  2. #include <list>
  3. using namespace std;
  4.  
  5. int main() {
  6. list <int *> ptrs;
  7. for (int i = 0; i < 10; ++i) { // wypelniamy liste wskaznikami
  8. ptrs.emplace_back (new int(i));
  9. }
  10.  
  11. for (int *v : ptrs) { // wypisujemy zawartosc list
  12. cout << *v << ' ';
  13. }
  14.  
  15. for (int *v : ptrs) { // usuwamy to, co jest pod tymi wskaznikami i przypisujemy nullptr do KOPII
  16. delete v;
  17. v = nullptr;
  18. }
  19.  
  20. ptrs.remove_if ([] (int *v) -> bool { return (v == nullptr); }); // usuwamy z listy wszystko co jest rowne nullptr
  21.  
  22. cout << '\n' << ptrs.size(); // sprawdzamy ilosc elementow w liscie
  23.  
  24. return 0;
  25. }
  26.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
0 1 2 3 4 5 6 7 8 9 
10