turns out this is just another case of \"c++ is not c blues\"
What I want
const char hex[16] = \"0123456789ABCDEF\"; >
const char hex[16] = \"0123456789ABCDEF\";
No. NUL-terminated strings are intrinsic to the language. You can have a character array though, and set each character one by one:
char hex [] = {'0', '1', '2', ... 'F'};