static constructors in C++? I need to initialize private static objects

To get the equivalent of a static constructor, you need to write a separate ordinary class to hold the static data and then make a static instance of that ordinary class. class StaticStuff { std::vector<char> letters_; public: StaticStuff() { for (char c=”a”; c <= ‘z’; c++) letters_.push_back(c); } // provide some way to get at … Read more

Is an empty initializer list valid C code?

No, an empty initializer list is not allowed. This can also be shown by GCC when compiling with -std=c99 -pedantic: a.c:4: warning: ISO C forbids empty initializer braces The reason is the way the grammar is defined in ยง6.7.9 of the 2011 ISO C Standard: initializer: assignment-expression { initializer-list } { initializer-list , } initializer-list: … Read more