• Stars
    star
    129
  • Rank 279,262 (Top 6 %)
  • Language Makefile
  • License
    BSD 3-Clause "New...
  • Created about 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hasta la vista, baby!

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.