Авторизация
Поиск по указателям
Уилсон М. — C++: практический подход к решению проблем программирования
Обсудите книгу на научном форуме
Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: C++: практический подход к решению проблем программирования
Автор: Уилсон М.
Аннотация: C++ - изумительных язык, но не идеальный. Если вы давно занимаетесь разработками на C++, эта книга поможет вам по-новому посмотреть на те сложные проблемы, с которыми приходится сталкиваться при программировании, и освоить мощные методы, которые вы никогда раньше не применяли. Если вы новичок в C++, то научитесь принципам программирования, которые позволят вам более эффективно реализовывать все ваши проекты. В ходе чтения книги вы научитесь:
• преодолевать недостатки системы типов C++;
• обеспечивать выполнение требований проекта программного обеспечения с помощью ограничений, соглашений и утверждений;
• правильно обрабатывать ситуации, не оговоренные стандартом, включая проблемы, связанные с динамическими библиотеками, статическими объектами и поточной организацией вычислений;
• обеспечивать совместимость динамически загружаемых компонентов на уровне двоичных модулей; понимать недостатки неявных преобразований и связанные с ними затраты и применять альтернативные подходы; повышать совместимость различных компиляторов, библиотек и операционных сред; помогать компилятору обнаруживать больше ошибок и работать более эффективно;
• понимать, какие аспекты стиля влияют на надежность;
• применять механизм захвата ресурсов при инициализации при решении различных задач;
• умело обращаться со странной связью, временами возникающей между массивами и указателями;
• использовать шаблонное программирование для повышения гибкости и устойчивости;
• расширять C++, в том числе быстрой конкатенацией строк, настоящими NULL-указателями, гибкими буферами памяти, свойствами, многомерными массивами и диапазонами.
Прилагаемый компакт-диск содержит много различной ценной информации: компиляторы, библиотеки, тестовые программы, инструментальные средства и служебные программы, а также подборку журнальных статей автора.
Язык:
Статус предметного указателя: Готов указатель с номерами страниц
ed2k: ed2k stats
Год издания: 2006
Количество страниц: 736
Добавлена в каталог: 24.03.2009
Операции: Положить на полку |
Скопировать ссылку для форума | Скопировать ID
Предметный указатель
Динамические библиотеки, независимые от компилятора 152
Директивы pragma 160—161
Директивы pragma, для упаковки 167
Документация 36 186
Дьюхерст, Стив (Dewhurst, Steve) 75 77 273 304
Единицы компоновки 154 171 174 181—182 183 184—185 186—187 187—188 188 192 219 318—319 324 328 347—348 417
Заголовки 134—135 156 239 307—308 424 450—451 464 516
Заголовки, заголовочные файлы 72 111—112 139 155 158 172 381 392 411
Заголовки, класса 230
Заголовки, количественных ограничений в системе Synesis Software 316
Заголовки, корневые 134
Заголовочные файлы библиотек 358
Запись смещение[указатель] 41—42
Запись указатель[смещение] 41—42
Затраты 73
Затраты этапа выполнения 285 323
Затраты, инициализации 96
Захват ресурса при инициализация 34 35 50 80 92 92 119
Защита, копирующего присваивания 67—68
Значение по умолчанию 62
Значение по умолчанию, опций генерации кода 143
Значения 119 198 210—211 214 215 220 239—240 289—290 319 321 347 483 545 559—560 579 615 617 655—656 664—665
Значения lvalue 358 601
Значения rvalue 358
Значения, в слотах 214 215 217
Значения, возврат 50—51 51—52 245 417.
Значения, динамические 220—221
Значения, изменение 123
Значения, константные 44 285 326—327
Значения, на этапе компиляции 78—79
Значения, ненулевые 202
Значения, нулевые 87 428
Значения, типы 34 68—69 72—73 97—98 98—102 104—106 106—108 116 272—273 330 344—345 443—444 445 550—551 654
Значения, частоты 239—240
Идентификаторы (IID) 414 423
Идентификаторы интерфейсов 328 (см. также «Интерфейсы»)
Идентификаторы, константа 415
Идентификация типов во время выполнения (RTTI-run time type information) 146—147 174
Изменяемость 95
Имена, констант 48
Имена, переменных 48
Инварианты 49—50 50 55 60 96
Инварианты класса 96 (см. также «Инварианты класса»)
Инварианты, класса 49—50 52—54 55 104
Инварианты, нарушения 53
Инварианты, функции 53
Инициализация 73 75 76 79 87 88 89 95—96 171 198 219 220—221 232 233 235—236 464 484
Инициализация, внешняя 94
Инициализация, внутренняя 94
Инициализация, динамическая 220—221
Инициализация, затраты 329
Инициализация, константная 220—221
Инициализация, многократная 240
Инициализация, нулевая 219 220 222 237
Инициализация, порядок 146 231
Инициализация, синтаксис 384
Инициализация, статическая 220—221
Инициализация, флажок 235 237
Инкапсулированные типы 101 103—105 108—112
Инкапсуляция 80—81 81 86 97—98 272 453
Инкапсуляция данных 35
Инстанциирование 139—140
Инструментарий синтаксического анализа Java-программ 391
Интегральные типы 160 270 325—326 395 551—552
Интернет 426
Интерфейсы 167—168 169—170 172—173 173—174 174—175 332—333 415—416 418—419 423 424—425 430 478 595—596 599 645—646
Информация этапа выполнения 140 141
Исполняемые модули 144 148 149 163 178—179 181—182 187 243
Исходный код 138
Исходный код, деревья 391
Исходный файл 397
Каталог 128—129
Каталог, утилита 375
Керниган (Kemighan) и Пайк (Pike) 418
Класс 69—70 72 73—74 74—75 76—77 78 93 95 96 121 122 128—129 147 154 163 164 244 275 293 323—324 329—330 340 342—343 351—352 368 385—386 391—392 399 418 418—419 421—422 429 441 450—451 453—454 458—459 467 47(М71 475 477—478 478—479 481 493—494 524—525 533 537 538 542 551—552 566 572—573 584 600 607—608 611 616—617 624 626 656 656—657 665—666 671—672 674 677—678
Класс данных и времени 109
Класс, DecrementScope 121
Класс, абстрактный 172 471 627
Класс, автор 71
Класс, базовый 70 249 250—251 292—293 337 385—386 471 533
Класс, базовый, нулевой длины 251
Класс, вариант 464
Класс, виртуальный 169
Класс, виртуальный базовый 73
Класс, вложенный 626
Класс, внешний 159
Класс, внутренний 158—159
Класс, вспомогательный 607
Класс, выбрасывающий исключение при контроле диапазона действия ресурсов 132
Класс, инициализатор 230
Класс, интерфейс 332—333 662
Класс, итератор 72
Класс, канала ввода-вывода 453
Класс, класс-оболочка 157 292 464 465 523—524 524—525 526
Класс, класс-оболочка последователь ности 444
Класс, класс-примесь, выделяющий память 250
Класс, контейнера 89—90
Класс, контролирующий состояние каталога 128—129
Класс, методы 69 104 180 244 658—659
Класс, многомерного массива 72 608
Класс, неполиморфный 162
Класс, обрабатывающий 466
Класс, объявление 328 329 352—353
Класс, определение 352—353 369 391—392 476 508 675
Класс, параметризующий 473
Класс, переносимый 547
Класс, полиморфный 471
Класс, последовательности 72
Класс, проектирование 111
Класс, производный 168 180
Класс, прокси 443 443—444 450 487 572—573
Класс, реализация 78
Класс, родительский 73 418 472—473 522
Класс, с подсчетом ссылок 92 117—118
Класс, С++ 187
Класс, связь классов 397
Класс, синхронизация 126 476
Класс, составной 474
Класс, строки 430—431
Класс, счетчика 241
Класс, счетчика производительности 240
Класс, тип 660
Класс, управляющий диапазоном действия ресурсов 95 124 130—131 134 214
Класс, управляющий диапазоном действия состояний 128
Класс, управляющий жизненным циклом объектов 89
Класс, функтор 418
Класс, шаблонный 249
Класс, экспорт 157
Клиентский программный код 56 67 73 88 97 103—104 113 114 115—116 118 132 139 146 155 157 163 168 170 172 173 174—175 185—186 215 227 244—245 245 302 304 309 310 311 332 335 346 375 376 388 407 416 430 432 436 448 470 488 488^89 502 519 533 537 548 552 559 563 586—587 594 597—598 650 651 670 675
Ключевое слово, связанное с оптимизацией 243—244
Ключевые слова 67 70 72 256
Кодировка UNICODE 628
Комо, Грег (Comeau, Greg) 339
Компилятор 37 55 61 62 63 64 67 68—69 70 74 76 93 101—102 113 137 138 139 140—142 143—144 145 146—147 148 149—150 153 156 160 161 162 163 164 165 166 167—168 169 170 171 172 174 175 176—177 180 182 188 207 208 211—212 220 222 223—224 243 244 245 246—247 248 250 251—252 253—255 256—257 262 263—264 268 269—270 271 272 273 274 275—276 281 284 285 291 300—301 304 305—306 313 314 316 318 319 321 324 325 326—327 328 335—336 340 341 342 345 346 347 349 350 358—359 365 371 378 383 389—390 395—396 399 404 406—407 408 411 412 419 424—425 426 427 431—432 437 447 448 479 483—484 486 488—489 497—498 500 504 510 512 514—516 517 519 523 525 532 539 540—541 547 548 550 553 571 574 575—577 579—580 583 593 600 601 614 626 646—647 652 654 657 658—659 661
Компилятор MIDL 156
Компилятор Win32 588
Компилятор и компоновщик 66 178 244
Компилятор С++ компании «Sun» 165
Компилятор, компоновщики 223—224
Компилятор, опция 142—143 680
Компилятор, поставщики 136 139—140 142 148 176 270 274 313 490 535
Компилятор, различие 340
Компилятор, разработчики 275
Компилятор, сгенерированные классы 165
Компилятор, специальные возможности 112
Компиляция 62 64 155 180 500 547 611
Компиляция, единица 134 152 166 167 221—222 222 224 230 230—231 234 254 328—329 333 347 347—348 624
Компоненты библиотек 622
Компоновка 146 220
Компоновщики 222—223 223—224 225 347
Компоновщики, последовательность компоновки 231
Константы 57 67 186—187 278 279 314—315 321—330 407 407—408
Константы, литеральные 76 407
Конструирование 74—75 92—93 146 221 245 247 306 343 353 353—354 468 585
Конструирование преобразований 343—344
Конструкторы 53 66 68 69—70 70—71 72—73 74 76—77 78 88 93 94 96 119 123 133—134 168 215 237 243 245 245—246 247 297 323 337 339 343 352—353 354 365 402 406 418—419 423 431 441 457 464 475 518 522 546—547 547—548 548 551 567 585—586 586 609—610 654 675
Конструкторы, вызовы 394
Конструкторы, глобальных объектов 231
Конструкторы, копирование 67—68 68—69 94 171 245—246 290 307 522 548 652 653
Конструкторы, не по умолчанию 73 651
Конструкторы, объявления и определения 369
Конструкторы, по умолчанию 68 171 290 293 307 522 651
Конструкторы, строки 508
Конструкторы, тело 74
Контейнеры 67 89—90 114 115—116 275 283 435 437—438 444 600 670
Контейнеры, библиотека 436—437 670
Контейнеры, последовательности 283
Контейнеры, реализации 250
Контейнеры, стандартной библиотеки 92 115
Контейнеры, тип 90—91
Контекстуальные typedef 369 373 375—377 379 388—389 392
Контролируемые объекты 51
Концептуальные typedef 369 371—373 377—380 383 388—389
Концепции контейнеров, ассоциативных 436
Концепции контейнеров, последовательности 436
Концепция итератора 374
Копирующее присваивание 69
Копирующее присваивание, оператор 228 306—307
Копирующий конструктор 69 228 390
Коплиен, Джеймс (Coplien, James) 477
Лангер (Lange) и Крефт (Kreft) 98
Лангер (Lange) и Крефт (Kreft), определение типа значения 105
Локальная память потока (TLS-thread-local storage) 210 567
Майерс, Скотт (Meyers, Scott) 227 304 307 309 381
Макрос, offsetof 78 78
Макрос, формы 54
Макросы 46—47 55 56 60—61 206 206 207—208 280 284 284—285 302 308 311 316—317 341 342 350 381 392 397—398 424 451 501 501 553 657 661 662 665 667 668—669 671 «Assert()» «Maкpoc» «Библиотечный»)
Массивы 41 44 64 181 321 456—457 461 463 492 525 526—527 532—533 604—605 608—609 648
Массивы, выражение 63—64
Массивы, классы 533
Массивы, многомерные 615
Массивы, размерность 64
Методы шаблонного метапрограммирования 47 138
Методы, виртуальные 171—172
Методы, вход 53
Методы, вызов 97
Методы, вызов класса см. «Класс» «Методы»
Методы, выход 53 53
Методы, доступа 172
Методы, не виртуальные 333—334
Методы, освобождения памяти 174
Механизм распределения памяти в ограниченной области 58
Механизм реализации виртуальных функций 139
Механизмы 349 359 396 415 438—439 455 472—473 499 502 557 578 579 597 607 613 663 673 676
Механизмы вывода сообщений об ошибках 55
Механизмы этапа выполнения 37 140
Механизмы, виртуальных функций 146—147
Механизмы, деструктора 467—468
Механизмы, завершения работы 228
Механизмы, перехвата всех уведомлений 217
Механизмы, поиска 464
Механизмы, преобразования 575 575
Механизмы, приведения типов 552
Механизмы, разрешения типов и наследования 472
Механизмы, разрешения шаблонов 475
Механизмы, синхронизации 189 198
Механизмы, шаблонных свойств 368
Многобайтовый набор символов (Multibyte Character Set-MCS) 262
Многозадачные системы 189
Многомодульные системы 137
Многопоточность 137 189 192—193 204—206 242 255
Многопроцессорные машины 199 201
Многопроцессорные системы 191 203
Модели 115—116
Модели вектора 520 589—590 591—592 592—593
Модели доступа 115 117
Модели доступа с регламентированным временем жизни 115
Модели класса счетчика производительности 457
Модели размещения объектов 153
Модели регламентированного времени жизни объектов 114—115 115—116
Модели с регистрацией доступа 114
Моделируемая динамическая связь 477
Модель многокомпонентных объектов 331 (см. «СОМ»)
Модули, динамически компонуемые 175
Модули, построенные в рабочем режиме 60
Мьютексы 189 196—198 200 203 204 208 217
Мьютексы, классы 478—479
Мьютексы, потока 479
Мьютексы, спин-мьютексы 237—238 242 330
Нe-NULL 51 423
Нарушение 49
Наследование 175—176 176 251 490 522 533 544
Наследование, иерархия 386
Наследование, методика 342
Наследование, отношение 397
Не-NULL, указатель 416
Неделимые типы 193
Неделимые целочисленные операции 198
Неделимые целочисленные операции, декремента 191
Неделимые целочисленные операции, инкремента 191—192
Независимость от компилятора 151 172 271
Неизбежные потери 74
Некостантные объекты 73 73 382 550
Некостантные объекты, ссылки 403—404
Ненулевые 355
Ненулевые, затраты 55 248 607
Ненулевые, размеры 250
Ненулевые, указатели 54
Непрозрачный тип 179
Нестатические объекты 77
Новый обработчик 133—134
Нулевой символ завершения 442 442—443
Область видимости 360—361
Облицовочные классы 89 393—394 469 481 507
Обнаружение на этапе выполнения 410
Обобщенный 349 366
Обобщенный, алгоритмы 522
Обобщенный, механизм преобразования 407
Обобщенный, программирование 368
Обобщенный, программный код 393 407 450—451 532—533 610
Оболочки 235 560
Обработка ошибок 133
Объекты 165—166 181 181—182 183 205—206 223—224 226—227 278 482—483
Объекты, глобальные 66 146 221—222 226—227 227 231 237 242 323
Объекты, динамической памяти 66
Объекты, инициализатора 231
Объекты, менеджер статических ресурсов 187
Объекты, модель 163 177 349
Объекты, объектные файлы 181
Объекты, переносимые через границы, метод 173—174 177
Объекты, порядок компоновки объектных файлов 223
Объекты, применяющие подсчет ссылок 434
Объекты, синглетонов 228
Объекты, синхронизации 124 126 195 195—196 474 630
Объекты, сконструированные 168
Объекты, составные 66
Объекты, состояния 80
Объекты, статические 137 146 181—182.
Объекты, стека 66
Объявления typedef 411—412 414 500—501 595 679
Ограничения 38—40 40—41 41—42 42—43 45 46—48 55 71 94 95 114 137 176 176 295 406—407 411—412 412—413 430 456 457 458 461 469 586
Ограничения, класса 43—44
Ограничения, методов 71
Ограничения, нешаблонные 46
Однопроцессорные машины 201—202 203
Оператор инициализации 360 360—361 362
Операторы 69—70 100—101 101 105 105—106 106—107 130—131 243 355—356 399 401 402 406—407 418 453—454 505—506 508 516—517 520 523—524 525—526 526—527 529 529—530 542—543 549—550 551—552 555 556 628—629 641—642 647
Операторы копирования 243
Операторы преобразований 406 409 419 420 427 429 431 487 507 511 521 533 533—534
Операторы, delete 66
Реклама