In the C standard library, there is a String. This trust everyone knows. In fact it is a Basic_String's typef, in fact, in these places, check String does not find too much thing, you need to understand the internal interface, to check Basic_String
As for char_traits, it is a template parameter of Base_String, which is mainly responsible for the properties and methods of characters, such as EQ, LT, Compare, Find, compare characters, find characters, etc. What is this?
Overloaded to change some of String's character related internal properties, such as case sensitive, string compares these, specific interfaces, and, the interface inside is basically STATIC, can be similar to STRCPY, Strlen's interface directly ( This seems to be worthless: P)
The concrete implementation of String is not sensitive, only a simple overloaded char_traits is OK, mainly a few character comparison interfaces
Above reference from Exceptional C