At least according to cppref (non-member operator<<
) it is defined (see the sixth one down from the top)
template< class CharT, class Traits >
basic_ostream<CharT,Traits>& operator<<( basic_ostream<CharT,Traits>& os,
const char* s );
Also, looking at the comments:
Before insertion, first, all characters are widened using
os.widen()
, then ...
this seems well defined by the C++ standard.