Авторизация
Поиск по указателям
Уилсон М. — C++: практический подход к решению проблем программирования
Обсудите книгу на научном форуме
Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: C++: практический подход к решению проблем программирования
Автор: Уилсон М.
Аннотация: C++ - изумительных язык, но не идеальный. Если вы давно занимаетесь разработками на C++, эта книга поможет вам по-новому посмотреть на те сложные проблемы, с которыми приходится сталкиваться при программировании, и освоить мощные методы, которые вы никогда раньше не применяли. Если вы новичок в C++, то научитесь принципам программирования, которые позволят вам более эффективно реализовывать все ваши проекты. В ходе чтения книги вы научитесь:
• преодолевать недостатки системы типов C++;
• обеспечивать выполнение требований проекта программного обеспечения с помощью ограничений, соглашений и утверждений;
• правильно обрабатывать ситуации, не оговоренные стандартом, включая проблемы, связанные с динамическими библиотеками, статическими объектами и поточной организацией вычислений;
• обеспечивать совместимость динамически загружаемых компонентов на уровне двоичных модулей; понимать недостатки неявных преобразований и связанные с ними затраты и применять альтернативные подходы; повышать совместимость различных компиляторов, библиотек и операционных сред; помогать компилятору обнаруживать больше ошибок и работать более эффективно;
• понимать, какие аспекты стиля влияют на надежность;
• применять механизм захвата ресурсов при инициализации при решении различных задач;
• умело обращаться со странной связью, временами возникающей между массивами и указателями;
• использовать шаблонное программирование для повышения гибкости и устойчивости;
• расширять C++, в том числе быстрой конкатенацией строк, настоящими NULL-указателями, гибкими буферами памяти, свойствами, многомерными массивами и диапазонами.
Прилагаемый компакт-диск содержит много различной ценной информации: компиляторы, библиотеки, тестовые программы, инструментальные средства и служебные программы, а также подборку журнальных статей автора.
Язык:
Статус предметного указателя: Готов указатель с номерами страниц
ed2k: ed2k stats
Год издания: 2006
Количество страниц: 736
Добавлена в каталог: 24.03.2009
Операции: Положить на полку |
Скопировать ссылку для форума | Скопировать ID
Предметный указатель
.NET 576
<Программный интерфейс>_<имя функции>, формат имен функций 154
ABI см. «Двоичный интерфейс приложения»
Alpha компании «Dec» 59
Apis см. «Программные интерфейсы»
Arturius, мультиплексор компиляторов 624
assert(), макрос 59—62
ATL 480 523
Atomic, ключевое слово 208 209
Auto_buffer 79 95
bool 61 260 267—268 274—277 311 312 313 355—356 400 493 555
Boost 193 265 604 616—617
Boost, библиотеки 409 488 523 603
Boost, классы массивов 614
Boost, компоненты неделимых операций 194
Borland 41 45 145 160 167 223 246 251 253 320 322 325 403—404 500—501 513 513—515 587 588—590 626 646—647 659
Borland 5.6 41 251 339
Bridge (мост), шаблон 159
char 260—261 261—262 262—263 267—268 268—269 269—270 287 303—304 310 311 317—318 319 334—335 364—365 377 400 413 443—444 445 560 628 629—630
CodeWarrior 140 223 246 255 256 273—274 275 320 322 325 339 340 350 400 403—404 427 486 513 513—515 536 593 626 659
Com 164 177 332 414 415—16 417 424 459 523—524
COM, IDL 156
COM, заголовки 331
COM, интерфейсы 331—332 470—471
COM, компоненты 162 417 479
COM, мета-данные 523
COM, программирование 162
COM, совместимость 630
COM, указатель интерфейса 415—416
COM, функции программного интерфейса 523 524
Comeau 246 246 273—274 325 339 342 399 427 477 486 583 626 659
Comeau, компилятор 680
const 67—68 74—75 303—304 306—307 346—347 356 382 398 398—399 486—487 501—502 549 644
DbC 37 48—49 52 52—53 54—55
DEBUG 55 61—62
Default, блок 61
DELETE 69 71 187—188 293 293
Delete, объектно-ориентированное 453
delete, оператор 174
Delete, по соглашению 35 37
Delete, проектирование этап 37—38
DeviceCloser 87—88
Digital Mars 41 43 45 160 223 225 246 269 272 274 320 325 339 340 399 403—404 427 513 513 583 589—590 626 659
Dimensionof() 279 284—286 292 462 526 562—563 573 612—613 621
DRY-принцип 278 298
EBO 251—252 479 479 587
EDO 252—253 461
Explicit 70 70—71 121 122 197 245—246 287—288 296 303—304 380 390 400 418 422 430 441 443 454 466 481—487 489 546 554 583 584—585 586 592 650 653 659
Explicit_cast 111 342—346 401—407 428 552
FORTRAN 603—604
free() 36
friend 72 338—342 453—454 509 650 653 659
gcc 77 143 160 164—165 223 225 246 270 274 320 322 325 339 340 350 403—404 427 486 513 583 589—590 593 626 659
Goto, оператор 93
grep 60 209 411 488 528
Hasbase 39 45—225
IDDE (integrated development&debug environment-интегрированная среда разработки и отладки) 62 169 244
IDE (integrated development environment-интегрированная среда разработки) 120
inline, ключевое слово 243—244 346—347 347—348
int 59 61 63 64—65 264—266 266—267 268 277 280 303 304 309 314 340 410 494 546—547
Intel 45 63 139—140 143 160 188 201 223 254 263 273—274 320 322 325 339 403—404 427 486 513 513 514—516 575 589 626 646 659
Intel, архитектура 370
Intel, ассемблер 201
Intel, процессор 190—191 191—192 199—200
INTERFACE 331—332 332—333 416—417
IO Completion Port (порт завершения ввода-вывода) 453
IObject 166—167 169—170 171—172
IP-адрес 453
IsDerivedFrom 39
ISE Eiffel 4.5 56
Is_pointer_type 47
Is_valid() 52—53 53
Is_valid(), Itanium, проблемы, онтологические 34
Is_valid(), проект 140
Is_valid(), стандартизация 143
Java 503 576
Linux 143 176 179 179 184 192 203 436 582
Linux, программная база ядра 357
Long 63
lOStreams 493 494 559
malloc() 36
MFC 366 439 516
Microsoft's Foundation Classes (MFC) 59
Microsoft, компания 139 423
Microsoft, компания, расширения 564
MIL см. «Список инициализации членов»
Must_be_pod 42 42—43 47
Must_be_pod_or_void 43 44
Must_be_same_size() 44
Must_have_base 39
NDEBUG 55—56 62
NEW 66—67 69 293 293
NRVO 247 504
NULL 51 56—57 213 258 355 416—417 417 427—428 465 523 580 582 585 587 595
NULL, указатель 54
Open Watcom 325
POD-значения, открытые типы 103
POD-типы 22 79 81 81—82 83 96 153 153 220 406—407 412 460 460—461 523 583 584 586 589—590 606
Pthreads 210—211 211—212 217 217
RAII 34—35 35 50 53 81 86 88 119 120 127 129 157 211 213 214 215 460 463 490 522 523 576 581
RangeLib, проект 558
Realloc() 36
ResourceManager 90—91 91—92
RRID 34 92—96 463
RRID, типы 81—82
RTTI 177 188
RVM 51
RVO 245 246 246—247
Sequence_container_veneer 86 90 91—92
Serializer 270 383—384
Service 81—82 82—83 83
short 64 „
Solaris 144 145 176
static 76—77 225—226
static, ключевое слово 227
Static, метод вспомогательной функции 77
Static, функция 39
STL 538 586—587 593 619 636 636
STL, концепции итераторов 107 283 621
STL, концепция последовательности 608
STL, концепция распределителя памяти 586
STL-алгоритмы 632
STL-вектор 593
STL-классы 596—597
STL-контейнеры 482 521—522 534 535—536 537 586
STLSoft 448 457—458 512—513 513—515 516 568
STLSoft, библиотеки 60 72 239 265 311 350 438 457—458 539
STLSoft, заголовочные файлы 308
String 70 76 107 119 245—246 247 303—304 320 334—335 344 505—506
struct 331 333—334 368 678—679
switch, оператор 61
Switch-форма 65
Synchronized, ключевое слово 205
Synesis, Atomic_API 201—202 203
Synesis, Atomic_API, библиотечные функции 202
Synesis, база программного кода 385
Synesis, библиотеки 60 134 134 188 276 277 371 473 568
Synesis, библиотеки Win32 216
Synesis, класс BufferStore 157
TLS 210 566
TSD 210 (см. также «Специальные данные потока»)
TSS 209 210 211—212 215 217—218
typename 349—350 350
T_is_not_subscriptable 40 41
UInteger64 107 108—109
UNIX 141 142 145 176 184 192 217 332 444 454
UNIX, библиотеки потоков стандарта POSIX 196
UNIXSTL 457
VectorC 659
verify() 59—60
VerifyO 59—60
Visual С++ 41 140 188 223 246 254 255 256 263—264 273—274 275 320 322 339 340 350 403—404 427 486 500 513 513 514—516 524 575 580 589 626 646—647 659
Visual С++ компании Microsoft 145
Visual С++, библиотека С этапа выполнения 63 187—188
Visual С++, библиотеки 262—263 589
Visual С++, совместимые компиляторы и компоновщики 151
vms 176 332
void 44 44—45 281—282
volatile, ключевое слово 236 236 255—256 256—257
Watcom 43 273—274 322 339 340 403—404 427 659
Win32 164—165 176—177 188 192 195 196 204—205 210 211—212 216 217 238 240 355 411 448 453—454 528 530
Win32 + Intel 62
Win32 + Intel, платформа х86 139
Win32, DLL 185
Win32, Interlocked_* 202
Win32, Interlocked_*, системные библиотечные функции 203
Win32, LoadLibrary() 179
Win32, библиотека С этапа выполнения компании Microsoft 582
Win32, инфраструктура многопоточной обработки 210
Win32, компиляторы 141 143—144 145 149 164 200 243 564
Win32, конфигурация по умолчанию 339
Win32, машина 200
Win32, объекты синхронизации 195
Win32, операционные системы 141 201 579
Win32, платформы 125 143 144 149—150 564 582
Win32, поставщики компиляторов 149
Win32, программный интерфейс 62 528
Win32, программный интерфейс системы безопасности 442
Win32, системные библиотеки 139
Win32, системы 144 203
Win32, соглашения 145
Win32, функция перебора с обратным вызовом 633
Win32, элемент управления «список» 439
Windows 370
Windows (16-битовый) 370
Windows, платформы 142—143
Windows, программный интерфейс 411
Windows, разработка в среде 139
WinSTL 202 457
WinSTL, встраиваемые функции 202 203
WinSTL, неделимые функции 201—202
WinSTL, проект 568
ZLib 265 595 597
Абстрактные типы данных 349
Абстракция режима построения программы, независящей от компилятора 62
Агрегатные типы 22 101
Азимов, Айзек (Asimov, Isaac) 312
Александреску, Андрей (Alexandrescu, Andrei) 65 269
Библиотека активных шаблонов компании Microsoft (Active Template Library-ATL) 193 470 477 481 521
Библиотека С этапа выполнения компании Microsoft 132
Библиотеки 143—144 144—145 148 149—150 153 153—154 157 173 175 193 204—205 205 209 217 231—232 233—234 244—245 265 283 294 442 452 453 457 516 519 568 572 594—595 600
Библиотеки этапа выполнения 58—59 140 188 216 231 335 336 417 580 594
Библиотеки, fsearch 376
Библиотеки, IOStreams 230
Библиотеки, Tss 216—217 217—218 232 233—234 234
Библиотеки, конструкции стандартных библиотек 450
Библиотеки, не сохраняющие состояние 232
Библиотеки, неделимые целочисленные операции 194
Библиотеки, независимых поставщиков 374 407 517
Библиотеки, общего назначения 428
Библиотеки, распределители памяти 252
Библиотеки, с открытым исходным кодом 428 430
Библиотеки, С++ 632
Библиотеки, сериализации 577
Библиотеки, системных функций 204
Библиотеки, сохраняющие состояние 232
Библиотеки, стандартные 294 327 430 439 442 450 452 466 467 508 512 516 523 534 534—535 575 577 592 612
Библиотеки, стандартные контейнеры 374 434 435 489 520 535—536 603
Библиотеки, строки 303—304 514—516
Библиотеки, функция расширения 575
Библиотечные вызовы 217
Библиотечные классы 238
Библиотечные функции 141 621
Библиотечный программный код 309 350
Битовые поля 65
Блокировка 201—202
Блокировка шины 200
Блокировки монопольного доступа 126
Блочные тесты 385
Брайт, Уолтер (Bright, Walter) 272
Булев оператор 553
Булев оператор неявного преобразования 420
Булев результат 631
Булева логика 312
Булева природа условного оператора 357—358
Булева проверка 500 554
Булевы выражения, вычисление 555
Булевы значения 258 275—276
Булевы преобразования 61 275
Булевы псевдотипы 312—313
Булевы типы 276 277 495
Булевы условные (под)выражения 57 59 313 355—357
Буферы 76 186 364 562 562—563 568 570—571 571—572 578—579 580—581 584—585 586—587 587—588 591—592
Буферы, автоматические переменного размера 583—591
Буферы, массива 570
Буферы, символов 561—562
Буферы, совместно используемые 158
Буферы, содержимое 76
Буферы, указатель 76 115
Быстрая, неагрессивная конкатенация 503—519
Быстрые вычисления 492
Ван дер Линден, Питер (van der Linden, Peter) 287
Венерация программного кода 54 391—392
Вершник, Юджин (Gershmk, Eugene) 99
Взаимные блокировки 189—190
Взаимодействие компонент 137
Виртуальное наследование 146
Виртуальные таблицы vtable 147 162—171 182 235 333—334 478 479 594
Виртуальные таблицы vtable, в программном коде 172—173
Виртуальные таблицы vtable, методика переносимых 175
Виртуальные таблицы vtable, полиморфизме наследования на базе 451
Возвращаемое значение 444 455 511 536—537
Возвращаемые значения 55 171 275—276
Встраивание 243—244
Встроенные типы 193
Встроенный 244—245 268 424
Встроенный, ассемблер 63
Встроенный, программный код 182 244—245
Выделение лексем 209
Выравнивание при упаковке структур 142
Выражения 56—57 57 63—64 284 305 313 327 444 498 504 532 553
Выражения этапа выполнения 63
Выражения, зеркальные 305
Выражения, константные 326—327
Выражения, не булевы 554
Выражения, сравнений 101—102
Выражения, условные 61
Выходные параметры 53 55
Гибкость этапа выполнения 478
Глобальное пространство имен препроцессора 308
Глобальные объекты 133 134—135 222—223
Глобальные объекты, пространства имен и статические классы 135
Двоичный интерфейс приложения (ABI) 162 163 173 175 176—177 184 188
Двоичный, библиотека 138—139 140
Двоичный, имя 148 159
Двоичный, компоненты 136—137 142
Двоичный, модули 175
Двоичный, поставка только двоичных модулей 138
Двоичный, стандарт 136—137
Двоичный, уровень совместимости 138
Двоичный, форма 139
Двоичный, функция 153—154
Деструкторы 50—51 53 66 70 71 72 87 88 89—90 90—91 92—93 94 96 114 119 123 134 168 174 174—175 215 290 323 332 333 348 353 354 461 463 475 586 606 610
Диапазон, задаваемый итераторами 439
Диапазоны 634—643
Димов, Питер (Dimov, Peter) 497 520 527
Динамическая инициализация 220
Динамическая компоновка 144—145 150—151 178 182 184—185 242
Динамическая/свободная память 66
Динамические библиотеки 149—150 163 211—212 213 231 242 321 324 328
Реклама