std :: string과 std :: basic_string의 차이점은 무엇입니까? 그리고 왜 둘 다 필요한가요? 무엇입니까 std::basic_string? 그리고 왜 둘 다

std::string과 의 차이점은 무엇입니까 std::basic_string? 그리고 왜 둘 다 필요한가요?



답변

std::basic_string문자 유형에서 문자열을 만들기위한 클래스 템플릿입니다 std::stringtypedef을위한 클래스 템플릿의 전문화 char. 예, 둘 다 필요합니다 (또는 최소한 표준에 의해 요구됨).


답변

std::string의 인스턴스화입니다 std::basic_string<T>.

typedef std::basic_string<char> string

std::basic_string모든 유형의 문자열에 대해 유사한 인터페이스가 필요합니다 ( wstring예 :


답변

A std::stringstd::basic_string유형이 인 템플릿 의 인스턴스화 입니다 char. 와이드 문자의 문자열 char과 같이 외에 사물의 문자열을 만들 수 있도록 둘 다 필요합니다 std::basic_string<wchar_t>. 또는 32 비트 요소가있는 문자열을 원하는 경우 std::basic_string<unsigned int>.


답변