Нет, это не так.Что касается ближайшего будущего, комитет по стандартам C ++ создал исследовательскую группу, которая разрабатывает предложение сетевого уровня .Похоже, что они идут по восходящему подходу, начиная с базового уровня сокетов, затем создавая поддержку HTTP / etc поверх этого. Они хотят представить предложение основного сокета на октябрьском заседании комитета.
Что касается того, почему они не включили это в C ++ 11, это чисто умозрительно.
Если вам нужно мое мнение по этому вопросу, именно по этой причине.
Если вы создаете программу, которая делает что-то, что имеет определенную функциональность, то вы можете выбрать библиотекипо одной из двух причин.Одна из причин заключается в том, что эта библиотека необходима для реализации вашего кода.А другая причина в том, что он делает что-то, что полезно для реализации кода в целом.
Для конкретной программы очень сложно сказать: "Я абсолютно должен использовать std::vector
держать этот список предметов! " дизайн для программы не настолько специфичен.Если вы создаете веб-браузер, идея браузера не имеет значения, содержит ли он свои вкладки в std::vector
, std::list
или в созданном пользователем объекте.Теперь некоторые конструкции могут настоятельно рекомендовать определенные структуры данных.Но редко дизайн явно говорит, что что-то низкоуровневое, такое как std::list
, крайне необходимо.
std::list
может использоваться примерно в любой программе.Как и std::vector
, std::deque
и т. Д.
Однако, если вы создаете веб-браузер, в рамках этого дизайна вы найдете network .Вы должны либо использовать сетевую библиотеку, либо написать сетевой уровень самостоятельно.Это фундаментальное требование идеи.
Термин, который я использую для первого типа, для библиотек, которые могут использоваться во всем, - это «служебные» библиотеки.
Threading - это служебная библиотека,Проектирование может поощрять потоки через необходимость отвечать пользователю, но есть способы реагировать без упреждающей многопоточности.Поэтому в большинстве случаев многопоточность является выбором реализации.Поэтому многопоточность - это утилита.
Сеть не .Вы используете сеть только в том случае, если ваш дизайн требует этого.Вы не решили просто сбросить сеть в программу.Это не деталь реализации;это требование к дизайну.
По моему мнению, стандартная библиотека C / C ++ должна реализовывать только утилиты.Именно поэтому я против других тяжеловесных идей, таких как парсеры XML и т. Д. Подобные вещи не являются ошибочными для других библиотек, но для C и C ++ они не являются хорошим выбором.