I'm trying to learn C++ right now and have gotten on the topic of exception safety. I'm pretty sure I understand the meaning of the four different levels of exception safety. However what are some concrete examples of when a strong guarantee would be inappropriate but a basic guarantee would be appropriate?