Embercode
✕
The STLQuick quiz

Iterators

7 questions. Covers Iterator invalidation.

Questions 1 to 5 of 7

  1. 1. What is the bug in this loop? ``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 << ' '; } ``
  2. 2. What is wrong with this code? ``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'; } ``
  3. 3. What happens when this program runs? ``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); } } ``
  4. 4. What does this program print? ``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 << ' '; } ``
  5. 5. What does this program print? ``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.