Writing extensions for projects that support C extensions but may not support C++ extensions, e.g. many dynamic languages.
You can still write the extension in C++ and expose an extern "C" interface.
You can still write the extension in C++ and expose an extern "C" interface.