Две части кода действительно делают две разных вещи. Первая версия вытянет участников, поскольку Вам нужны они. Вторая версия загрузит все результаты в память прежде , Вы начинаете делать что-либо с ним.
нет никакого права, или неправильно ответьте этому. Какой предпочтителен, просто зависит от ситуации. Например, если существует предел времени, когда необходимо завершить запрос, и необходимо сделать что-то полусложное с результатами, вторая версия могла быть предпочтительной. Но остерегайтесь больших наборов результатов, особенно при выполнении этого кода в 32-разрядном режиме. Я несколько раз кусался исключениями OutOfMemory при выполнении этого метода.
ключевая вещь иметь в виду является этим хотя: различия находятся в эффективности. Таким образом необходимо, вероятно, пойти с тем, какой бы ни каждый делает код более простым, и измените его только после профилирования.
Нет книги, которая охватывала бы Boost в целом. Мне пришлось начать изучать его 2 месяца назад, и я выбрал подход «узнай то, что тебе действительно нужно».
Вы не найдете книги, охватывающей все библиотеки ускорения. В настоящее время Boost включает более 80 библиотек.
Мой подход был следующим:
Самыми важными книгами, которые я прочитал, были все книги Херба Саттера, потому что идиомы, используемые в Boost и особенно в STL, довольно хорошо обсуждаются там ( Exceptional C ++ , Более исключительный C ++ и исключительный стиль C ++ ). Мне также понравился 101 Coding Guidelines от Саттера и Александреску. Последняя книга больше похожа на краткое изложение наиболее важных идиом.
Александреску и книга MPL от Abrahams & Gurtovoy.Самыми важными книгами, которые я читал, были все книги Херба Саттера, потому что идиомы, используемые в Boost и особенно в STL, довольно хорошо обсуждаются там ( Exceptional C ++, более исключительный C ++ и исключительный стиль C ++ ). Мне также понравился 101 Coding Guidelines от Саттера и Александреску. Последняя книга больше похожа на краткое изложение наиболее важных идиом.
Александреску и книга MPL от Abrahams & Gurtovoy.Самыми важными книгами, которые я читал, были все книги Херба Саттера, потому что идиомы, используемые в Boost и особенно в STL, довольно хорошо обсуждаются там ( Exceptional C ++, более исключительный C ++ и исключительный стиль C ++ ). Мне также понравился 101 Coding Guidelines от Саттера и Александреску. Последняя книга больше похожа на краткое изложение наиболее важных идиом.
Это книга - очень хороший справочник, но я думаю, что он не совсем «быстрый». Хорошо, что на той же странице, InformIT, вы можете найти образец главы о boost :: bind. Эта библиотека похожа на автоматические указатели ускорения, это одна из библиотек ускорения, которые я использую для разработки любой программы на C ++ в своей повседневной работе. Другой - boost :: lambda, связанный с boost :: bind. Собственная документация по boost - очень хорошее руководство.
Что касается других функций, я полагаю, что это похоже на любую другую общую библиотеку, вам просто нужно изучить компоненты, которые вам нужно использовать. Думаю, вы можете заглянуть на эту страницу , чтобы узнать обо всех этих функциональных возможностях, которые предлагает вам.
Чуть не забыл boost :: mpl (библиотека метапрограммирования). Опять же, официальная документация boost может вам помочь.
Я не вижу смысла изучать весь Boost сразу. Вы можете обратиться к Документация по Boost для получения информации о частях Boost, которые вам действительно нужны в вашей работе.
Есть книга - Помимо стандартной библиотеки C ++: Введение в Boost . Вы можете начать с чтения.