Static initializers in C++ are much more liberal than in C, without the latter's "constant expression" limitations. This follows from that you couldn't declare a static object of an arbitrary class otherwise: C++ has to be prepared to execute any code whatsoever in order to run user-coded constructors. OTOH, because C++ is much more liberal in this respect, order of module initialization is a much worse problem in C, and C++ doesn't define that any more than C does. Some of the worst debugging problems I ever had in C++ were tracking down quiet assumptions about initialization order that didn't hold x-platform. There are a number of well-known hacks in the C++ world for worming around this, some of which explain why starting a large C++ program can give your disk a major workout. As to making Python source compilable under C++, I quietly nudge it in that direction. If I explained why, it wouldn't be quiet anymore <wink>.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4