Бьерн Страуструп. Язык программирования С++. Специальное издание (2011), страница 4
Описание файла
DJVU-файл из архива "Бьерн Страуструп. Язык программирования С++. Специальное издание (2011)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 4 - страница
24.3.6. Программируемые отношения . 24.3.7. Отношения внутри класса . 24.3.7.1. Инварианты 24.3.7.2, Утверждения 24.3.7.3. Предусловия н постусловия . 24.3.7.4. Инкапсуляция 24.4. Компоненты . 24.4.1. Шаблоны . 24.4.2. Интерфейсы и реализации . 24.4.3. «Жирные» интерфейсы. 24.5. Советы . Глава 25. Роли классов . 25.1. Разновидности классов . 25.2. Конкретные классы (типы) 25.2.1. Многократное использование конкретных типов . 25.3. Абстрактные типы 25.4. Узловые классы. 25.4.1. Изменение интерфейсов . 25.5.
Операции. 25.6. Интерфейсные классы 25.6,1. Подгонка интерфейсов. 25.7. Дескрипторные классы (!тапг!1ез). 25.7.1. Операции в дескрипторных классах 25.8. Прикладные среды разработки (арр!1сайоп (гагпехуогйз). 25.9. Советы . 25.10. Упражнения . Приложения и предметный указатель Приложение А. Грамматика А.!. Введение А.2.
Ключевые слова . А.З. Лексические соглашения. А.4. Программы . А.5. Выражения А.б. Операторы А.7. Объявления . А.7.1. Деклараторы . А.8. Классы А.8.1. Производные классы А.8.2. Особые функции-члены . 860 861 862 865 867 869 87! 873 . 874 . 875 . 877 877 879 882 883 884 886 888 890 . 893 895 895 896 899 900 903 . 905 908 . 909 . 912 914 . 917 918 920 921 . 923 925 925 926 927 930 930 934 935 938 940 941 941 22 Язык программирования С++ А.8.3.
Перегрузка . А.9. Шаблоны . А.10. Обработка исключений . А.11. Директивы препроцессора Приложение В. Совместимость . В.1. Введение В.2. Совместимость С и С++. В.2.1. «Тихие» отличия . В.2.2. Код на С, не являющийся С-'гт-кодом В.2.3. Нежелательные особенности . В.2.4. Код на С-Н-, не являющийся кодом на С В.З. Старые реализации С++. В.3.1. Заголовочные файлы . В.З.2. Стандартная библиотека В.З.З.
Пространства имен . В.3.4. Ошибки выделения памяти . В.3.5. Шаблоны. В.З.6. Инициализаторы в операторах Гог В.4. Советы В.5. Упражнения . Приложение С. Технические подробности С.1. Введение и обзор . С.2. Стандарт С.З. Символьные наборы. С.3.1. Ограниченные наборы символов . С.3.2. Езсаре-символы С.З.З. Расширенные символьные наборы С.3.4.
Знаковые и беззнаковые символы. С.4. Типы целых литералов. С.5. Константные выражения С.б. Неявное преобразование типов С.6.1. Продвижения (рготог!опт) С.6.2. Преобразования С.6.2.1. Интегральные преобразования . С.6.2.2.
Преобразования чисел с плавающей запятой . С.6,2.3. Преобразования указателей и ссылок. С.6.2.4. Преобразования указателей па члены классов С.6.24. Преобразования в логический тип . С.6.2.6. Преобразования «значение интегрального типа запятойю. С.6.3. Обычные арифметические преобразования . С.7. Многомерные массивы С.7.1.
Векторы . С.7.2. Массивы . С.7.3. Передача многомерных массивов в функции С.8. Экономия памяти . С.8.1. Битовые поля С.8.2. Объединения . С.8.3. Объединения и классы 942 942 943 944 . 947 947 948 . 948 948 951 951 . 953 954 955 955 956 956 958 958 . 960 961 961 961 . 963 963 964 965 966 967 967 967 . 968 968 968 .
969 969 . 970 970 — значение с плавающей 970 . 971 971 971 973 . 974 975 976 977 979 Содержание гз С.9. Управление памятью С.9.1. Автоматическая сборка мусора . С.9.1.1. Замаскированные указатели С.9.1.2. Операция бе!езе ..
С.9.1.3. Деструкторы. С.9.!.4. Фрагментация памяти . С.10. Пространства имен. С.10.1. Удобство против безопасности. С.10.2. Вложенные пространства имен С.10,3. Пространства имен и классы С.11. Управление режимами доступа С.11.!. Доступ к членам класса . С.11.2. Доступ к базовым классам. С.11.3. Доступ ко вложенным классам. С.11.4. Отношение «дружбы» . С.12. Указатели на члены классов С.13. Шаблоны С.13.1. Статические члены С.13.2. Друзья С.13.3. Шаблоны в качестве параметров шаблонов С.13.4.
Логический вывод аргументов функциональных шаблонов . С.13.5. Шаблоны и ключевое слово гурепаше . С.13.6. Ключевое слово тетр1аге в качестве квалификатора С.13.7. Конкретизация . С.13.8. Связывание имен . С.13.8.1. Зависимые имена. С.! 3.8.2. Связывание в точке определения С.13.8.3. Связывание в точке конкретизации С.13.8.4. Шаблоны и пространства имен С.13.9. Когда нужны специализации . С.13.9.1. Конкретизация шаблона функции . С.13.!О. Явная конкретизация . С.14.
Советы . Приложение 0. Локализация. Р.1. Национальные особенности 0.1.1. Программирование национальных особенностей. Р.2. Класс 1оса!е 0.2.1. Локальные контексты с заданными именами. 0.2.1.1. Конструирование новых объектов локализации . 0.2.2. Копирование и сравнение констекстов локализации . Р.2.3. Контексты 8!оба!() и с1азз)с() Р.2.4. Сравнение строк 0.3. Фасеты 0.3.1. Доступ к фасетам класса 1оса!е 0.3.2.
Простой пользовательский фасет 0.3.3. Использование локализаций и фасетов 0.4. Стандартные фасеты . 0.4.1. Сравнение строк 0.4.1.1. Именованные фасеты сравнения . 0.4.2. Ввод и вывод чисел 0.4.2.1. Пунктуации чисел . 979 . 980 980 981 982 982 983 . 983 984 985 985 . 985 . 986 . 988 . 989 . 989 990 990 . 99! . 992 . 992 . 993 . 995 .
995 . 996 997 999 !000 1001 1003 !003 1004 1005 1007 1007 1008 1011 1013 !015 10!7 10!8 !019 1020 1021 1023 1026 1026 1029 1032 1033 1033 24 Язык программирования С++ 0.4.2.2. Вывод чисел . Р.4.2.3. Ввод чисел . Р.4.3. Ввод и вывод финансовой информации . Р.4.3.1. Пунктуация денежных величин . 0.4.3.2.
Вывод денежных величин. Р.4.3.3. Ввод денежных величин 0.4.4. Ввод и вывод дат и времени 0.4.4.1. Часы и таймеры 0.4,4.2. Класс Рагс . 0.4.4.3. Вывод дат и времени 0.4.4.4. Ввод лат и времени. 0.4.4.5. Более гибкий класс Рагс . Р.4.4.6. Задание формата даты Р.4.4.7. Фасет ввода даты .. 0.4.5. Классификация символов . Р.4.5.1. Вспомогательные шаблоны функций 0.4.6. Преобразование кодов символов. 0.4.7. Сообщения . 0.4.7.1. Использование сообщений из других фасетов . О.5.
Советы. Р.б. Упражнения . Приложение Е. Исключения и безопасность стандартной библиотеки . Е.1. Введение . Е.2. Исключения и безопасность С.З. Технологии реализации безопасности при исключениях. Е.3.1. Простой вектор . Е.3.2. Явное управление памятью Е.З.З. Присваивание .
Е.3.4. Метод рцаЬ Ьасй!) . Е.3.5. Конструкторы и инварианты. Е.3.5.!. Применение функции!шй) Е.3.5.2. Полагаемся на действительное состояние по умолчанию .. Е.3.5.3. Отложенное выделение ресурсов Е.4. Гарантии стандартных контейнеров . Е.4.1. Вставка и удаление элементов Е.4.2. Гарантии и компромиссы . Е.4.3. Функция знарП . Е.4.4. Инициализация и итераторы. Е.4.5.
Ссылки на элементы Е.4.6. Предикаты Е.5. Другие части стандартной библиотеки Е.5.1. Строки Е.5.2. Потоки . Е.5.3. Алгоритмы Е.5.4. Типы ча!аггау и согпр!ех . Е.5.5. Стандартная библиотека языка С Е.б. Рекомендации пользователям стандартной библиотеки Е.7. Советы. Е.8. Упражнения Предметный указатель 1035 1038 !039 1040 1043 1044 1046 1046 1049 1049 1052 1054 1056 1058 1063 1066 !067 1071 1073 1075 1075 1077 1077 1079 1083 1083 1087 1088 1091 1093 1095 1096 1097 1098 1099 1!02 1105 1106 1106 1107 1108 1108 1109 1109 1110 1110 1110 1113 1114 1117 Предисловие переводчика и редактора Предьгдуший перевод на русский язык книги Бьерна Страуструпа Язык лрограимирования С++ был выполнен в 2000 году.
В течение десяти лет книга Страуструпа на русском языке неизменно пользовалась большим успехом у читателей. Книга от создателя языка С++ заслуженно считается классикой жанра во всем мире. Учитывая столь высокую роль книги, издательство Бином приняло решение о выполнении нового перевода. Настоящий перевод 2010 года значительно отличается от перевода 2000 гола в нескольких отношениях. Во-первых, за счет объединения функций переводчика и редактора перевода, а также за счет того, что переводчик сам является автором большого печатного труда на ту же тему, удалось получить более гладкий текст на русском языке, ибо объективная сложность работы, которая стояла перед переводчиками и редакторами первого перевода на русский язык сказалась на некоторой тяжеловесности построения фраз, иногда затуманиваюшей исходный смысл высказываний автора.
Во-вторых, в рамках первого перевода было допушено несколько ошибок, выявить и исправить которые в переводе 2010 года не составило большого труда из-за близкого знакомства переводчика с данной предметной областью. В-третьих, были учтены найденные за несколько лет ошибки самого автора— Бьерна Страуструпа, обнаруженные им и читателями и исправленные на сайте поддержки книги Ьпр.//итлв.гевгагсЬ.апсот/ Ьв/Зп$ еггага.йгтЬ В-четвертых, за десять лет, прошедшие с момента выполнения первого русского перевода, постепенно изменялась и уточнялась система русской терминологии, причем процесс этот спонтанно отражался в учебной литературе, и его статистически среднее направление принято нами за основу при выполнении нового перевода.
В заключение, я надеюсь на то, что новый перевод позволит точнее донести содержание замечательной книги Бьерна Страуструпа до русскоязычных читателей. Свои замечания касательного перевода вы можете присылать редактору перевода 2010 года по адресу и~оВЬГлот-ртегдги.
Мартынов Н.Н. 10 дУевраля 2010 года, Москва Предисловие автора к третьему русскому изданию В августе 1998 года был ратифицирован стандарт языка С++ (180/1ЕС 14882 «Яапдагд гог гпе С++ Ргодгаппшпв Еапвиаве», результат голосования национальных комитетов по стандартизации: 22 — 0). Это событие знаменует новую эру стабильности и процветания С++, а также связанных с языком инструментальных средств и приемов программирования. Лично для меня главным является то, что стандартный С++ лучше чем любая его предыдущая версия соответствует моему замыслу С++.
Стандартный С++ и его стандартная библиотека позволяют мне писать лучшие, более элегантные и более эффективные программы, чем те, что я мог писать в прошлом. Чтобы добиться этого, я и сотни других людей долго и интенсивно работали в комитетах по стандартизации АХ81 и 18О. Целью этих усилий было описать язык и библиотеку, которые будут исправно служить всем пользователям языка, не предоставляя каких-либо преимуществ одной группе пользователей, компании или стране перед остальными. Процесс стандартизации был открыт, справедлив, нацелен на качество и согласие. Усилия по стандартизации были инициированы Дмитрием Ленковым (Ошйгу Ееп)гоч) из Нею!ец-Раскагб, который работал в качестве первого председателя комитета. Во время завершения работ над стандартом председателем был Стив Кламаг (Вгече С1ашаве) из Бпп.