Бьерн Страуструп. Язык программирования С++. Специальное издание (2011) (1004033), страница 3
Текст из файла (страница 3)
17.4.1.5. Сравнения 17Л,1,6. Специфические для контейнера гоар операции... 17.4.1.7. Операции, характерные для списков. 17.4.1.8. Другие функции 17.4.2. Ассоциативный контейнер пш1!1гпар . !7.4.3. Ассоциативный контейнер зе! 17.4.4. Ассоциативный контейнер пзц1!1зег . 17.5. «Почти контейнеры», 17.5.!. Строки типа з!пп8 . 17.5.2. Массивы ча!агтау. 17.5.3. Битовые поля 6!!зе! !7.5.3.1.
Конструкторы. 17.5.3.2. Побитовые операции 17.5.3.3. Прочие операции . 17.5.4. Встроенные массивы. 17.6. Создание нового контейнера 17.6.1. Контейнер )газ)г гпар. 17.6.2. Представление и конструирование . 17.6.2.1. Поиск 17.6.2.2. Операции егааеО и геа!хеО. 17.6.2.3. Хэширование . 17.6.3. Другие хэшированные ассоциативные контейнеры . 17.7. Советы . 17.8. Упражнения 555 .
555 . 556 . 559 . 560 . 561 562 564 . 565 . 565 . 565 566 568 . 568 570 570 . 571 . 572 . 574 576 . 576 . 577 577 579 581 581 582 584 586 587 588 588 589 . 589 . 589 589 590 591 592 593 594 594 596 598 599 600 . 601 . 602 603 Содержание 17 оп) Глава 19. Итераторы и аллокаторы 19.1. Введение 19.2. Итераторы и последовательности 19.2.1. Операции над итераторами. Глава 18. Алгоритмьг и классы функциональных объектов .
18.1. Введение 18.2. Обзор алгоритмов стандартной библиотеки . 18.3. Диапазоны (интервалы) и контейнеры. 18.3.1. Входные диапазоны . 18.4. Классы функциональных объектов 18.4.1. Базовые классы функциональных объектов. 18.4.2. Предикаты. ! 8.4.2.1. Обзор преликатов . 18.4.3. «Арифметические» функциональные объекты. 18.4.4. Адаптеры («связывающие», для адаптирования функций-членов и указателей на функции, «отрицающие»), 18.4.4.1. <Связывающие» адаптеры 18.4.4.2. Адаптирование функций-членов. 18Л.4,3. Версии адаптеров лля указателей на функции.......
18.4.4.4. «Отрицатели», 18.5. Немодифицирующие алгоритмы. ! 8.5.1. Алгоритм 1ог еас!тО . 18.5.2. Алгоритмы поиска . 18.5.3. Алгоритмы соцпг() и соцпг Щ) . 18.5.4. Алгоритмы ес!ца!() и гп(вгпатсЦ) 18.5.5. Поисковые алгоритмы . 18.6. Модифицирующие алгоритмы. 18.6.1. Копирующие алгоритмы . 18.6.2. Алгоритм !галл(опп() . 18.6.3.
Алгоритм цп!ццеО . 18.6.3.1. Критерии сортировки, 18.6.4. Алгоритмы замены элементов 18.6.5. Алгоритмы удаления элементов 18.6.6. Алгоритмы й!!О и йепега1еО 18.6.7. Алгоритмы геуегзеО и гога1еО. 18.6.8. Обмен элементов последовательностей, местами 18.7. Сортировка последовательностей . 18.7.1.
Сортировка . 18.7.2. Бинарный поиск. 18.7.3. Слияние (алгоритмы семейства теще) . 18.7.4. Разбиение элементов на две группы (алгоритмы семейства рап!1! 18.7.5. Операции над множествами . 18.8. «Кучи» . 18.9. Нахождение минимума и максимума 18,10. Перестановки (реппщайопз) 18.11. Алгоритмы в С-стиле 18.12.
Советы 18.13. Упражнения . 607 607 608 613 . 614 615 . 616 617 618 619 620 621 623 624 625 626 626 627 629 630 631 632 632 634 636 637 638 640 640 64! 642 643 643 644 645 646 646 648 648 650 650 651 652 655 655 656 656 18 Язык программирования С++ 19.2.2. Шаблон Вега!от гга)га 19.2.3. Категории итераторов . 19.2.4. Итераторы для вставок. 19.2.5. Обратные итераторы . 19.2.6. Потоковые итераторы . 19.2.6.1. Буфера потоков 19.3.
Итераторы с проверкой . 19.3.1. Исключения, контейнеры и алгоритмы. 19.4. Аллокаторы (распределители памяти) . 19.4.1. Стандартный аллокатор 19.4.2, Пользовательский аплокатор . 19.4.3. Обобшенные аллокаторы. 19.4:4. Неинициализированная память 19.4.5. Динамическая память . 19.4.6. Выделение памяти в стиле языка С 19.5.
Советы . 19.6. Упражнения Глава 20. Строки. 20.1. Введение . 20.2. Символы . 20.2.1. Шаблон с)гаг ггайз . 20.3. Стандартный строковый шаблон Ьаз!с ыпп8. 20.3.1. Типы 20.3.2. Итераторы. 20.3.3. Доступ к элементам (символам) 20.3.4. Конструкторы . 20.3.5. Ошибки . 20.3.6. Присваивание . 20.3.7. Преобразование в С-строку 20.3.8.
Сравнения. 20.3.9. Вставка 20.3.10. Конкатенация 20.3.11. Поиск 20.3.12. Замена 20.3.13. Подстроки . 20.3.14. Размер и емкость . 20.3.15. Операции ввода/вывода. 20.3.16. Обмен строк 20.4. Стандартная библиотека языка С . 20.4.1. С-строки 20.4.2. Классификация символов . 20.5. Советы . 20.6. Упражнения Глава 21. Потоки 21.1. Введение . 21.2. Вывод 21.2.1. Потоки вывода .
658 . 660 . 662 . 663 . 664 . 666 . 668 . 673 . 674 . 674 . 678 . 680 . 682 684 . 685 . 686 . 687 689 . 689 . 690 690 . 692 693 694 . 695 . 695 697 . 698 699 701 703 704 705 706 707 708 709 709 710 710 7!2 713 714 717 7!7 719 720 Содержание 21.2.2. Вывод встроенных типов. 21.2.3. Вывод пользовательских типов . 21.2.3.1. Виртуальные функции вывода 21.3. Ввод 21.3.1.
Потоки ввода . 21.3.2. Ввод встроенных типов 21.3.3. Состояние потока . 21.3.4. Ввод символов. 21.3.5. Ввод пользовательских типов. 21.3.6. Исключения . 21.3.7. Связывание потоков . 21.3.8. Часовые (веп1пез) 21.4. Форматирование 21.4.1. Состояние форматирования 21.4.1.1. Копирование состояния форматирования .. 21.4.2, Вывод целых. 21.4.3. Вывод значений с плавающей запятой .
21.4.4. Поля вывода. 21.4.5. Выравнивание полей. 21.4.6. Манипуляторы. 21.4.6.1. Манипуляторы, принимающие аргументы . 21.4.6.2. Стандартные манипуляторы ввода/вывода . 21.4.6.3. Манипуляторы, определяемые пользователем . 21.5. Файловые и строковые потоки 21.5.1. Файловые потоки .
21.5.2. Закрытие потоков . 21.5.3. Строковые потоки . 21.6. Буферирование 21.6.1. Потоки вывода и буферы 21.6.2. Потоки ввода и буферы 21.6.3. Потоки и буферы 21.6.4. Буфера потоков .. 21.7. Локализация (интернационализация) 21.7.1.Функции обратного вызова для потоков . 21.8. Ввод/вывод языка С 21.9. Советы . 21.10. Упражнения . Глава 22.
Классы для математических вычислений 22.1. Введение . 22.2. Числовые пределы 22.2,1. Макросы для предельных значений 22.3. Стандартные математические функции 22.4. Векторная арифметика . 22.4.1. Конструкторы класса ча!апау. 22.4.2. Индексирование и присваивание в классе ча!апау 22.4.3. Функции-члены 22.4.4. Внешние операции и функции . 22.4.5. Срезы . . 722 724 725 726 726 727 729 . 731 734 735 737 738 739 739 741 741 742 743 744 . 745 746 747 749 751 752 753 755 756 .
757 . 758 . 759 760 764 766 766 770 771 775 775 776 778 778 780 780 782 783 786 786 20 Язык программирования С++ 22.4.6. Массив а11се апау 22.4.7. Временные объекты, копирование, циклы 22.4.8. Обобщенные срезы 22.4.9. Маски (тип шаз1г аггау) 22.4.10. Тип 1гк11гесг аггау 22.5. Комплексная арифметика . 22.6. Обобщенные численные алгоритмы . 22.6.1.
Алгоритм ассцшц!агеО . 22.6.2. Алгоритм 1ппег ргодцсгО. 22.6.3. Приращения (шсгешепга1 сЬапйеа) . 22.7. Случайные числа 22.8. Советы 22.9. Упражнения Часть 1Ч. Проектирование с использованием С++ Глава 23. Общий взгляд на разработку программ. Проектирование . 23.1. Обзор. 23.2. Введение . 23.3. Цели и средства. 23.4. Процесс разработки. 23.4.1, Цикл разработки. 23.4.2. Цели проектирования . 23.4.3. Этапы проектирования.
23.4.3.1. Этап 1: отражение концепций классами 23.4.3.2. Этап 2: определение операций. 23.4.3.3. Этап 3: выявление зависимостей. 23.4.3.4. Этап 4: определение интерфейсов . 23.4.3.5. Реорганизация иерархии классов 23.4.3.6. Использование модельных образцов. 23.4.4. Экспериментирование и анализ 23.4.5. Тестирование 23.4.6. Сопровождение и поддержка программ. 23.4.7. Эффективность 23.5. Отдельные аспекты управления проектами 23.5.1. Повторное использование кода.
23.5.2. Масштаб. 23.5.3. Личности 23.5.4. Гибридное проектирование 23.6. Аннотированная библиография . 23.7. Советы Глава 24.Проектирование н программирование . 24.1. Обзор. 24.2. Проектирование и язык программирования 24.2.1. Отказ от классов, 24.2.2. Отказ от производных классов и виртуальных функций. 24.2.3. Игнорирование возможностей статической проверки типов. 24.2.4. Отказ от традиционного программирования 24.2.5.
Применение исключительно классовых иерархий наследования 789 793 796 797 798 798 800 801 802 803 804 806 807 .. 809 . 811 811 812 815 818 . 820 . 822 . 824 825 828 830 830 831 832 . 834 . 836 837 . 837 838 . 838 . 840 . 841 . 843 845 847 849 849 850 852 854 854 857 859 Содержание 24.3. Классы . 24.3.1. Что представляют собой классы 24.3.2. Иерархии классов . 24.3.2. !.
Зависимости внутри иерархии классов. 24.3.3. Агрегация (отношение включения) 24.3.4. Агрегация и наследование . 24.3.4.1. Альтернатива «включение/наследование» 24.3.4.2. Альтернатива «агрегация/наследование» . 24.3.5. Отношение использования.