Challenge: Safe Vector Append
In this challenge, your goal is to write a function that appends elements from one std::vector<int> to another, while guaranteeing strong exception safety. If an exception occurs during the append process—such as a memory allocation failure—the original destination vector should remain unchanged. This means you must ensure that either all elements are successfully appended, or the vector is left exactly as it was before the operation began.
Swipe to start coding
Write a function safe_vector_append that takes two references to std::vector<int>, called dest and src. The function should append all elements from src to dest. If an exception occurs during the append operation, dest must remain unchanged. Use only standard C++ and the libraries available for this course.
- Ensure that the append operation is strongly exception safe: either all elements are appended, or
destis not modified at all; - Use only standard C++ and the libraries provided in this course.
Рішення
solution.cpp
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you show me an example of how to use this function?
What are some common pitfalls to avoid when ensuring strong exception safety in this scenario?
Can you explain what strong exception safety means in more detail?
Awesome!
Completion rate improved to 6.67
Challenge: Safe Vector Append
Свайпніть щоб показати меню
In this challenge, your goal is to write a function that appends elements from one std::vector<int> to another, while guaranteeing strong exception safety. If an exception occurs during the append process—such as a memory allocation failure—the original destination vector should remain unchanged. This means you must ensure that either all elements are successfully appended, or the vector is left exactly as it was before the operation began.
Swipe to start coding
Write a function safe_vector_append that takes two references to std::vector<int>, called dest and src. The function should append all elements from src to dest. If an exception occurs during the append operation, dest must remain unchanged. Use only standard C++ and the libraries available for this course.
- Ensure that the append operation is strongly exception safe: either all elements are appended, or
destis not modified at all; - Use only standard C++ and the libraries provided in this course.
Рішення
solution.cpp
Дякуємо за ваш відгук!
single