CppCon 2016 has ended
Back To Schedule
Tuesday, September 20 • 3:45pm - 4:15pm
Out of Memory? Business as usual: Examining applications that do not terminate on std::bad_alloc

Log in to save this to your schedule, view media, leave feedback and see who's attending!

System memory holds a special place in the hierarchy of program resources; its availability is the implied precondition for many innocuous lines of code, from std::string::substr() to passing std::function<> by value. The ability to always create another object is ingrained in the OOP mindset so much that it is often said that immediate termination is the cleanest way to handle memory allocation failures in most situations. Nevertheless, C++, when consistently applying RAII, makes it possible to treat memory allocation exactly as any other resource acquisition.

To what degree do actual applications take advantage of that possibility and what responses to allocation failures are there in the wild? This presentation will examine over 300 open source projects that incorporate explicit handling for std::bad_alloc, examine the causes (it’s not always “out of memory”), response strategies (it’s more than just rollback), and related practical considerations.

avatar for Sergey Zubkov

Sergey Zubkov

Sergey is a former biochemistry researcher and OS developer, who now works in finance and spends his free time editing cppreference.com and helping out with the C++ Core Guidelines.

Tuesday September 20, 2016 3:45pm - 4:15pm PDT
Kantner (Room 403) Meydenbauer Center