Perhaps something similar has already been asked, and sure, it's a nitpick...

I have a bunch of constant std::map s to switch between enum (class) values and their std::string representations (both ways). Someone here pointed out to me that these maps will be initialized at runtime, when other initialization code is run, before my program executes all the good stuff. This would mean constant expressions would impact runtime performance, as the maps are built up from their enum-string pairs.

As an illustrative example, here is an example of one of these maps:

enum class os { Windows, Linux, MacOSX }; const map<string, os> os_map = { {"windows", os::Windows}, {"linux", os::Linux}, {"mac", os::MacOSX} }; const map<os, string> os_map_inverse = { {os::Windows, "windows"}, {os::Linux, "linux"}, {os::MacOSX, "mac"} };