Why does lexical_cast make a copy?