It is possible to write extension modules in C++. Some restrictions
apply: since the main program (the Python interpreter) is compiled and
linked by the C compiler, global or static objects with constructors
cannot be used. All functions that will be called directly or
indirectly (i.e. via function pointers) by the Python interpreter will
have to be declared using extern "C"
; this applies to all
`methods' as well as to the module's initialization function.
It is unnecessary to enclose the Python header files in
extern "C" {...}
— they do this already.