C ++ стандартный API - PullRequest
       1

C ++ стандартный API

5 голосов
/ 09 октября 2010

Я студент и новичок в C ++. Я ищу стандартный API C ++, который является таким же всеобъемлющим, как API Java. До сих пор я использовал cplusplus.com и cppreference.com .

Пожалуйста, любая помощь будет принята с благодарностью.

Ответы [ 6 ]

7 голосов
/ 09 октября 2010

C ++ и Java имеют очень разные стандартные библиотеки, потому что они делают совершенно разные предположения о том, для чего они будут использоваться.

Java предполагает, что приложения или апплеты будут работать на хосте с полнофункциональной ОС с определенным способом выполнения большинства обычных задач.

В этом много контента, например, в java, результатом будет приложение или апплет. C ++ не делает этого предположения, поскольку C ++ можно использовать для построения ядер ОС и драйверов для ядер, его можно использовать для программирования приложений реального времени с полным стеком на микроконтроллерах или обработки блоков в суперкомпьютерах.

C ++ может использоваться для реализации самой операционной системы, на которой он будет работать.

По этим причинам стандартная библиотека практически не предполагает, что она будет иметь в наличии, и поэтому стандартная библиотека не делает никаких зависимостей от этих функций.

Единственное исключение - файлы и потоковая передача, потому что практически в любой операционной системе, такой как стек, есть нечто, похожее на файловый поток, если у него вообще есть что-то похожее на файлы.

Если вам нужен более богатый набор API для конкретных ОС, вам нужно взглянуть на что-то нестандартное. Отличным выбором является инфраструктура Qt, которая предоставляет множество инструментов, аналогичных тем, которые можно найти в библиотеках Java, является кроссплатформенной и хорошо работает с нативными идиомами C ++.

4 голосов
/ 09 октября 2010

C ++ имеет стандартную библиотеку .

Вы можете попробовать прочитать "Стандартная библиотека C ++: учебное пособие и справочник" .Хотя я сам не владею им, он находится в нашем списке книг (который я рекомендую вам проверить), поэтому он не должен быть плохим.

Примечание. C ++ - это не Java,поэтому библиотеки не обязательно имеют одинаковую функциональность.Еще один ресурс, на который вы захотите взглянуть, это Boost , который служит источником хорошо написанных библиотек C ++ для вещей, которых нет в стандартной библиотеке.

1 голос
/ 09 октября 2010

Стандартная библиотека Java нацелена на предоставление готовых к использованию функций, а стандартная библиотека C ++ нацелена на предоставление строительных блоков, которые не определены основным языком. Библиотека Boost имеет в основном ту же ориентацию, что и стандартная библиотека (за некоторыми исключениями, такими как обработка изображений). Я думаю, что ближе всего к стандартной библиотеке Java можно найти библиотеку Poco .

Однако, когда я попробовал библиотеку Poco, я обнаружил, что она слишком ориентирована на C, на мой вкус.

То есть это не "модерн". Вы сразу получаете такое впечатление, даже не глядя на API, потому что в онлайн-документах используются фреймы 1990-х годов. :-) Тем не менее, он может удовлетворить ваши потребности.

1 голос
/ 09 октября 2010

Java - это язык виртуальной машины, и поэтому он пытается создать всеобъемлющий API для предоставления независимого от платформы метода рисования / записи в файлы / что угодно.В духе JRE они берут эти общие входные данные и используют их для выполнения специфических для платформы вещей.В C ++ вы тот, кто делает эту работу.Многие библиотеки c ++ зависят от платформы, см. MFC, ATL или код, написанный для XWindows, и вы сами решаете, как вы хотите реализовать функцию, и посмотрите, является ли она специфичной для платформы или может быть выполнена независимо от платформы.*

Если вы пишете в Windows или Unix, я могу заверить, что API OS очень полон и позволит вам делать то, что вы пытаетесь достичь.Также взгляните на кросс-платформенные библиотеки, такие как lib qt.

1 голос
/ 09 октября 2010

GNU C ++ Стандартная документация библиотеки - это то, к чему я обращаюсь чаще всего.

0 голосов
/ 09 октября 2010

Если вы имеете в виду стандартную библиотеку c ++, я бы посмотрел на www.cplusplus.com . Он охватывает текущие стандарты. Ознакомившись с этим, вы можете попробовать взглянуть на boost .
В грядущем стандарте c ++ 0x есть ряд изменений. Википедия имеет информацию о некоторых из них, как и SO .

Книга номер один, IMO, для c ++ - Эффективный C ++ Скотта Мейерса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...