Skip to content

adishavit/Terminators

Repository files navigation

Terminators little-terminator

A GraphViz diagram that shows both normal and unexpected program termination flows in C++.

There are multiple ways a C++ program may terminate. These include both normal and unexpected termination. This GraphViz diagram shows the program termination flows as defined by the standard.

Standard C++ program terminators include:

For completeness, Microsoft-specific terminators:

For completeness, POSIX-specific terminators:

Read more on the associated blog post here.

Most of the functions have subtle contexts, conditions and effects that should be considered by checking their documentation. The diagram does not make an explicit distinction between the C and C++ versions of some of the functions (e.g. exit()). The orange path shows normal program termination.

The call graph

Corrections, additions, updates and layout improvements will be gladly accepted.

About

Hasta la vista, baby!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published