Я дал бы всем ответам здесь попытку сначала. Но я хотел просто добавить то, что я делаю, на всякий случай они не работают на Вас.
я попытался решить ту же проблему, которую Вы имеете прежде, и в конце, что я выбрал выполнение, должен иметь только один JRE, установленный в моей системе в установленный срок. У меня действительно есть приблизительно 10 различных JDKs (1.3 до 1,6, и от различных поставщиков - Sun, Oracle, IBM), так как мне действительно нужен он для разработки, но только одного автономного JRE.
Это работало на меня на моих Windows 2000 + компьютер IE 6 дома, а также мой Windows XP + Несколько компьютер IE на работе.
std :: basic_string
- это шаблон класса для создания строки вне символьных типов, std :: string
- это typedef
для специализации этого шаблона класса для char
. Да, они оба необходимы (или, по крайней мере, требуются стандартом).
A std :: string
является экземпляром шаблона std :: basic_string
с типом char
. Вам нужно и то, и другое, чтобы вы могли создавать строки из вещей помимо char
, например std :: basic_string
для строки широких символов. Или, если вам нужна строка с 32-битными элементами, std :: basic_string
.
std :: string
является экземпляром std :: basic_string
:
typedef std::basic_string<char> string
std :: basic_string
необходимо для аналогичный интерфейс для всех типов строк (например, wstring
).