Я прихожу на C++ с фона .Net. Зная, как использовать Стандартные библиотеки C++, и весь синтаксис, я больше не рискнул. Теперь я ищу обучение немного больше, например, какие библиотеки обычно используются? Я хочу начать заниматься Threading, но не собираюсь начинать. Есть ли библиотека (похожая на то, как .net имеет System.Threading) там, что сделает ее немного легче? Я специально планирую сетевое программирование на базе Linux.Библиотеки C++, похожие на C#?
ответ
Для C++, Boost - это все, что вам нужно. Threading и networking - это то, что он предлагает. Но есть намного больше:
- Интеллектуальные указатели
- Полезные контейнеры не найдены в STL, такие как массивы фиксированного размера и HashTables
- CLOSURES
- Дата/время занятия
- Еогеасп построить
- Функции мин/макс
- синтаксический анализатор командной строки
- Регулярный срок ssions
Если вы изучаете сетевое программирование и не интересуетесь графическим интерфейсом, я предлагаю библиотеки Boost: в частности, Asio.
Нет стандартной библиотеки многопоточности, но библиотека boost включает в себя независимую от платформы многопоточную абстракцию, которая работает очень хорошо.
Как говорили другие, Boost отлично. Он реализует C++ Technical Report 1 в дополнение к тоннам других вещей, в том числе некоторые продуманные template metaprogramming трюки.
Для других кросс-платформенных функций, не предусмотренных Boost, мне очень повезло с библиотекой под названием Poco. Например, я работал над коммерческими проектами, которые включали простой HTTP-сервер, и он относился к нам довольно хорошо.
много предложений по стимулированию, но Qt - еще один хороший вариант. Он получил отличную поддержку для threading и networking, а также многое другое.
+1 потому что Poco очень приятно и утомительно, что подталкивания по умолчанию SO ответить на каждый вопрос C++. – Duck