A std::string
- это экземпляр шаблона std::basic_string
с типом char
. Вам нужно и то и другое, чтобы вы могли создавать строки из вещей, кроме char
, например std::basic_string<wchar_t>
для строки широких символов. Или, если вы хотите строку с 32-битными элементами, std::basic_string<unsigned int>
.