Что является различием между станд.:: строка и станд.:: basic_string? И почему оба необходимы?

Я дал бы всем ответам здесь попытку сначала. Но я хотел просто добавить то, что я делаю, на всякий случай они не работают на Вас.

я попытался решить ту же проблему, которую Вы имеете прежде, и в конце, что я выбрал выполнение, должен иметь только один JRE, установленный в моей системе в установленный срок. У меня действительно есть приблизительно 10 различных JDKs (1.3 до 1,6, и от различных поставщиков - Sun, Oracle, IBM), так как мне действительно нужен он для разработки, но только одного автономного JRE.

Это работало на меня на моих Windows 2000 + компьютер IE 6 дома, а также мой Windows XP + Несколько компьютер IE на работе.

75
задан Benjamin Pollack 2 November 2009 в 16:11
поделиться

3 ответа

std :: basic_string - это шаблон класса для создания строки вне символьных типов, std :: string - это typedef для специализации этого шаблона класса для char . Да, они оба необходимы (или, по крайней мере, требуются стандартом).

56
ответ дан 24 November 2019 в 11:41
поделиться

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

15
ответ дан 24 November 2019 в 11:41
поделиться

std :: string является экземпляром std :: basic_string :

typedef std::basic_string<char> string

std :: basic_string необходимо для аналогичный интерфейс для всех типов строк (например, wstring ).

36
ответ дан 24 November 2019 в 11:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: