std::string和之间有什么区别std::basic_string?为什么两者都需要?
CB *_*ley 57
std::basic_string是一个用于从字符类型中创建字符串的类模板,std::string是typedef用于该类模板的特化char.是的,它们都是需要的(或者至少是标准要求的).
pmr*_*pmr 37
std::string是一个实例std::basic_string<T>:
typedef std::basic_string<char> string
Run Code Online (Sandbox Code Playgroud)
std::basic_string必须为所有类型的字符串(wstring例如)提供类似的接口.
Zan*_*son 15
A std::string是std::basic_string模板的实例化,其类型为char.你需要两者,这样你就可以制作一些东西char,比如std::basic_string<wchar_t>一串宽字符.或者如果你想要一个32位元素的字符串,std::basic_string<unsigned int>.