Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Challenge: Safe Vector Append | Exception Safety and Resource Management
C++ Exception Handling

bookChallenge: 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.

Aufgabe

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 dest is not modified at all;
  • Use only standard C++ and the libraries provided in this course.

Lösung

solution.cpp

solution.cpp

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

Awesome!

Completion rate improved to 6.67

bookChallenge: Safe Vector Append

Swipe um das Menü anzuzeigen

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.

Aufgabe

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 dest is not modified at all;
  • Use only standard C++ and the libraries provided in this course.

Lösung

solution.cpp

solution.cpp

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
single

single

some-alt