7 questions. Covers Iterator invalidation.
Questions 1 to 5 of 7
cpp #include <iostream> #include <vector> int main() { std::vector<int> v{4, -1, 7, -3, 9}; for (auto it = v.begin(); it != v.end(); ++it) { if (*it < 0) { v.erase(it); } } for (int x : v) std::cout << x << ' '; }
begin()
end()
erase
it
++it
v
const
*it < 0
*it <= 0
cpp #include <iostream> #include <vector> int main() { std::vector<int> v{5, 6}; auto first = v.begin(); v.push_back(7); std::cout << *first << '\n'; }
first
push_back
std::cout
int
java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = new ArrayList<>(List.of("Ana", "Ben", "Cara")); for (String name : names) { if (name.equals("Ana")) { names.remove(name); } } System.out.println(names); } }
[Ben, Cara]
[Ana, Ben, Cara]
remove
[Ben]
ConcurrentModificationException
cpp #include <iostream> #include <vector> int main() { std::vector<int> v{4, 5, 6, 7, 8}; for (auto it = v.begin(); it != v.end();) { if (*it % 2 == 0) { it = v.erase(it); } else { ++it; } } for (int x : v) std::cout << x << ' '; }
java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> names = new ArrayList<>(List.of("Ana", "Ben", "Cara", "Dev")); names.removeIf(n -> n.startsWith("C")); System.out.println(names); } }
5 question(s) left on this page.