Анимация
JavaScript


Главная  Библионтека 

0 [ 1 ] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

О Глава 7, «Итераторы STL». Подробное описание классов итераторов STL. В частности, рассматриваются разные категории итераторов, вспомогательные функции итераторов и адаптеры (потоковые итераторы, обратные итераторы и итераторы с возможностью вставки).

О Глава 8, «Объекты функций STL». Описание объектов функций STL.

О Глава 9, «Алгоритмы STL». Перечисление и описание алгоритмов STL. После краткого вступления и сравнения алгоритмов приводятся подробные описания алгоритмов, сопровождаемые примерами программ.

Главы с 10-й по 12-ю посвящены «простым» стандартным классам.

О Глава 10, «Специальные контейнеры». Описание специальных контейнерных классов стандартной библиотеки С++. В частности, здесь рассматриваются адаптеры для очередей и стеков, а также класс bitset, предназначенный для управления битовыми полями произвольной разрядности.

О Глава И, «Строки». В этой главе представлены строковые типы стандартной библиотеки С++ (да, таких типов несколько!). В стандарте С ++ строки представлены как «очевидные» фундаментальные типы данных с возможностью использования разнообразных символов.

О Глава 12, «Числовые типы?-. Глава посвящена числовым компонентам стандартной библиотеки С++. В частности, в ней описаны типы комплексных чисел и классы для представления массивов числовых значений (применяются при работе с матрицами, векторами и уравнениями).

В главах 13 и 14 рассматриваются темы, относящиеся к вводу-выводу и интернационализации (эти две темы тесно связаны друг с другом).

О Глава 13, «Ввод-вывод с использованием потоковых классов». Описание подсистемы ввода-вывода С++ - стандартизированной формы известной библиотеки lOStream. В данной главе также приводятся некоторые важные подробности, которые нередко упускают из виду. Например, здесь рассматривается правильная методика определения и интеграции специальных каналов ввода-вывода, которые на практике часто реализуются неправильно.

О Глава 14, «Интернационализация». Глава посвящена основным принципам и классам, используемым при интернационализации программ. В частности, в ней рассматриваются проблемы разных кодировок и применение различных форматов при выводе вещественных чисел и дат.

Оставшуюся часть книги составили глава 15, список ссылок на ресурсы Интернета, библиография и алфавитный указатель.

О Глава 15, «Распределители памяти». Концепции моделей памяти в стандартной библиотеке С++.

О Список ссылок на ресурсы Интернета с дополнительной информацией по темам, рассмотренным в книге.

О Список книг н иных источников, которые упоминались, использовались илн цитировались в этой книге.

О Алфавитный указатель.



22 Глава 1. О книге

Как читать эту книгу

Книга представляет собой гибрид учебника и структурированного справочника по стандартной библиотеке С++. Отдельные компоненты стандартной библиотеки С++ в той или иной степени независимы друг от друга, поэтому после глав 2-4 описания компонентов можно читать в любом порядке. Не забывайте, что главы 5-9 посвящены одному и тому же компоненту. Чтобы понять материал остальных глав о STL, начните с вводного описания STL в главе 5.

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

Как известно, все новое лучше всего изучается на конкретных примерах. По этой причине материал книги поясняется многочисленными примерами, от нескольких строк кода до целых программ, В последнем случае имя файла с программой указывается в первой строке комментария. Файлы примеров можно загрузить с web-сайта оригинального издания этой книги (http: www.josuttis.com/ libbook) или с web-сайта издательства «Питер» (http: www,piter.com/download).

Текущая ситуация

На момент написания книги стандарт С++ был полностью подготовлен. Некоторые компиляторы еще не соответствуют новому стандарту. Вероятно, ситуация изменится в ближайшем будущем, однако нельзя исключать того, что часть материала книги не будет соответствовать некоторым системам, и читателю придется вносить изменения в примеры под специфику конкретной платформы. Практически все примеры программ нормально компилируются в EGCS версии 2.8 и выше; реализации этого компилятора для многих платформ бесплатно распространяются через Интернет (http: egcs.cygnus.com/) и на компакт-дисках со сборниками программ.

От издателя перевода

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение!

Все исходные тексты, приведенные в книге, вы сможете найти по адресу http: www.piter.com/download.

Подробную информацию о наших книгах вы найдете на web-сайте издательства http: www.piter.com.




Знакомство с С++ и стандартной библиотекой

История

Процесс стандартизации С++ начался в 1989 году и продолжался до конца 1997 года, хотя некоторые формальные предложения отложили его окончательную публикацию до сентября 1998 года. Результатом этой работы стало справочное руководство, насчитывающее около 750 страниц и опубликованное международной организацией по стандартизации (ISO). Стандарт получил название Information Technology - Programming Languages - С++», ему был присвоен номер ISO/IEC 14882-1998, и он распространяется национальными представительствами ISO (в США это ANSI).

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

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

Возможно, вас интересует, почему процесс стандартизации занял почти десять лет. Более того, после близкого знакомства со стандартом возникает другой вопрос - почему после столь долгой работы результат по.лучился не идеальным. Десяти лет оказалось недостаточно! Впрочем, с точки зрения истории и контекста стандартизации сделано довольно много. Результат вполне пригоден для практического применения, хотя и не совершенен (как и все в этом мире).



0 [ 1 ] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239