Converting enum values to strings in C++
Question 1: functionxxx_as_string() is used below. How else could it be more elegantly named?


How about:

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; str, thing const&amp; data);



  Question 2: Is the static char* array method adopted below the only solution? Best solution? Any suggestions?


You will need a static char array (or equivalent (like a switch)) somewhere as there is no built in way to convert enum values (which are integers) to a string.