Б. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004 (1160791), страница 14
Текст из файла (страница 14)
Ноаге: Н~егагсА|са! Ртодгат Сопзг исдоп т 51гис|игег! Ргодгатт|пд Аеас[от(с Ргеьь, Нечч Ъгог[с. 1972. Магдагес А. ЕПЬ авг[ В)агпе Ясгоиьсгир: Т!|е Ллпогагег[ Оч-+ Ке)егепсе Малиа1. Аг[|Пьоп-ЪЪгеь!еу. ЯеаоЬвд, Мазь. 1990, 1ЗВЫ 0-201-51459-1. ЕНсЬ Сапипа, ес а14 Резгдп Раг!етпз. А|[йьоп-ЪЪгеь1еу. Яеайпд, Мазь. 1994, 18ВЬ! 0-201-63361-2. А. Со!г[Ьегд апс[ О. ВоЬьоп: 5МА?.?. ТЛ?.К-ВΠ— ТАе Еапдиаде апг! Тгз 1тр!етепгадол.
Аг[йьоп-ЪЪгеь1еу. Гзеа|Пвд, Мазь. 1983. К. Е. Сг!ычо!й ес а!с ТБе 5лобо14 Ргодгаттспд Гапдиаде. РгепВсе-НаП. Епд!езчоог! СП!(ь, сч)езч)егьеу. 1970. С. Натйоп апг[ Р. Коид!оиг!ы ??|е 5ргупд|з?ис!еиз|А М1сго)гегле1 /ог 06!есс. Ргос. 1993 Яипивег НВЕ!х!1Х Соп(егевсе. 1)ЗЕЫ!Х. К, Е. Сг!зчго!г! апг[ М. Т. Сг!ычоЬЬ ТАе ?СОАг Ргодгатт!пд ?апдиаде.
Ргепс1се-НаП. Епде|чооЛ СП11ь, ЫезчЯегьеу. 1983. Маса Неппсьоп авг[ Гзгдг Ыу9исьс: 1пг!изггуа! 5гтепдгА С ч +| Гси1ез апс[ Весотпгелг!ас(от. Ргевйсс-НаП. Евдезчоо|! СИЬ, !ч[еи Зегьеу. 199?. 18ВЫ 0-13-120965-5. )еап О. 1сЬЬ|аЬ, ес а14 Ггадопа1е )ог Йе Рез4дп о! 1)|е ЛОА Ргодгатттд дапдиаде. 81СР1 АЫ Жо|Зсегс Ъго!. 14 ]хсо. 6, зиле 1979. годееьЬ Н. Катай, КисЬ Е. Бпи!ап, апг[Зеав С.
Зт!сЬ: !?еар|пд депе)]гз т!1А О!)есг-Ог(епгег] ТесАпо1оду. АТЛЕТ ТесЬвоса1 Зои па!. Ъго!. 72 Ь1о. 5. ЗерсетЬег?ОссоЬег 1993. ВНап Ъггг. КегпсдЬап агн1 ОеппЬ М. ЙСсЬ(е: ТАе С Ргодгаттгпд Гапдиаде. РгепНсе-НаП. Ег|д!езчоог! СИЬ, !з!ечг) егьеу. 1978. Впав ЪЪг. КегйдЬап апг[ Оепп!ь М. В!ссЬ!е: Т!|е С Ргодгаттп|д 1апдиаде (десолг! Б!!с!оп). Ргепскс-НаП. Гвд!еюоод СИЬ, )з!езч ]егьсу. 1978. 15ВЫ 0-13-110362-8. Апг!гезч Коепсд ап|1 В)агпе дсгоиьсгир: Сз-ч-: Аз с1озе го С аз розг!Ые — Ьис по с1озеп ТЬе С+ч- Керогс. Ъ'о!.
1 !з!о. 7. ) и!у 1989. 1.8. Советы 55 [Коеш8, 1997) [Кппй, 1968) [Ь1я)соч, 1979) [МагНп, 1995] [ОггчеИ, 1949] (Рагг(п8соп, 1995] [К!сЬап!я, 1980] [Коя1ег, 1984] [Кос(сг, 1988] [ЯесЬ1, 1981] [8ссрапоч,1994) [8сгоггяггпр, 1986] [8сгопясгпр, 1987) [Ясгопясгор, 1991] [8сгопясгпр, 1994] [Тат) ап, 1983] [1)п(сог) е, 1996] [ 1(Х1Х, 1985] [ЪЧИяоп, 1996) Лггг]гечч Коег88 апг] ВагЬага Моо; Кит!па!голе оп Сг-е.
Лг!Йяоп ЪЧся!еу 1 оп8гпап. Кеайп8, Маях. 1997. 18ВХ 1-201-42339-1. 1)опа!Й КппсЬ: Т(ге Агг о! Сотригег Рго8гаттгп8. Ас)8!яоп- ЪЧея1су. Кеайп8, Маях. ВагЬага Е!я)соч ес а!с С(и Ке(егепсе Молил!. М1Т(! С8/ТК-225. М!Т СагпЬг!г)8е. Маях 1979. КоЬсгс С. МагНп: Оея(дпгпд 061есг-Оггегггег( С-ее Арр(гсаггопя (1я!п8 Йе ВоосБ Л(ег(гог(. РгспВсе-НаИ. Еп8!еъчоог! СИ!!я, Хгегч )егяеу.
1995, !8ВХ 0-13-203837-4. Сеогбе ОгччсИ: 1984. 8сс)гег апг) ЪЧагЬцг8. (.опс)оп. 1949. СгаЬагп Рагггп8соп ес а1с ТБе Реягдгг апг! Ттр!степ(аггел о,( Агуипа. Согпрпссг Зуясепгя, Ъ'о1. 8 Хо. 3. 8пгпггтег 1995. Магг!и К!сЬагея апс! Сойп ЪЧЬ!сЬу-Всгечепя: ВСРŠ— 77ге Еалбиабе алг( ТСг Сотрг(ег, СапгЬгЫде сгп!чсгя!су Ргеяя, СагпЬгЫКе.
Еп8!апг). 1980. 18 ВХ 0-521-21965-5. 1. Коя!ег: Т(ге Еоо(иггоп оТ С вЂ” Ратг алг( Ри(иге. АТйТ,ВеИ 1лЬогасог(ся ТесЬп!саЦопгпа!. Чо!. 63 Хо. 8. Рагс 2. ОссоЬсг 1984. М. Кое!ег, ес а!с СТТОИ(5 Огяггг(гигег! Орегтгггпи 5уягетя. Сепг рог!п8 Яуягепге. Ъ'о1. 1 Хо. 4. ГаИ 1988. КагА ВесЬг; БпгТопп 5упгах Тот Туре Ехргеяягопя аггг(Вес(ага(сопя. Бо!сгчаге Ргасггсе ег ЕхреПепсе. Ъ'о!. 11. 1981.
А!ехапг]ег 8серапоч апг! Меггб 1.ее: ТЬе Всапс)агг] Тегпр!асс ЫЬгагу. НР 1.аЬя ТесЬшса! Керогс НР1-94-34 [К. 1). Ап8пяс, 1994. В]агпе Всгопясгпр: Т(ге Се+ Рго8гаттгп8 Еал8ггаде. Лг]г!!яоп- ЪЧея!су. Кеайп8, Маях. 1986. 15ВХ 0-201-12078-Х. В!агпе Ясгопясгсгр апг) 1опаСЬап 8Ьор!го; А 5ес оу' С С(атяея'(ог Со-Коиггле 5(у(е Рго8гатт(п((.
Ргос. 1) 8ЕХ!Х С->г- Соп1егепсе. Бааса Ге, Хегч Мех!со. ХочепгЬсг 1987. В(агпе Всгопясгпр: Т(ге Се+ Ргоуаттгл8 Еапдиа8е (5есолгу Ег(г(Топ). Аг]йяоп-Чг(ея!еу. Кеайп8, Маях. 1991. !8ВХ 0-201- 53992-6. В(агпе Всгопясгпр: ТАе Реягдп аггг( Еоо!и(гоп оТ Сев. Ас)йяоп- ЪЧея!еу.
Кеайп8, Маях. 1994. 18ВХ 0-2-1-54330-3. КоЬегс Е. Тат]ап: Тга!а 5ггисгигея апг(Хе(гесс(г А(допйтя. Яоссесу (ог (ос[пест!а! апд АррИег) МайепгаНся. РЬИаг)е!рЬ!а, Репп. 1983. !ЯВХ 0-898-71187-8. ТЬе Нп!сог]е Сопяогсшт: Т(ге ((гггсог(е 5(апг(агг(, Регягогг 2 О. Лс)А!яоп-ЪЧея!еу Пече1орегя Ргеяя. КеагИп8, Маяя. 1996. !ВВХ 0- 201-48345-9. Е(Х1Х Типе-8Ьаг!п8 Яуясепе Рго8гаттегу Мапиа!. Яеяеагс(г Чегягоп, Теис(г ЕЙВоп, ЛТ8 Т ВеИ 1.аЬогасоПея, Мпггау НИ1, Хечч ] егяеу. ЕеЬгпагу 1985. Сге8огу Ъ'. ЪЧИяоп апг] Рап! 1л !ейсогя): Раггг((е( Рго8гатгпгп8 Оягп8 Се е. ТЬе М1Т Ргеяя. СапгЬг!г]8е.
Маяя. 1996. 18ВХ 0-262- 73118-5. .ом ~ 56 ]Глгйясгопт, 1987] Е]се 'тт'1]сясгош: рипсггопа(Рщраттгп8 уппдМй. Ргепйсе-На!1. Епй!етсоос] Сййя, !т!ев ]егяеу. 1987. ~'КооЫагс], 1974] Р. М. %оодттагд апс] 8. О. Вовс]; Л16о] 68-и (уяегя Сии]е, Нег Ма!еягу'я Бсаггопегу О]йсе.
Еопдоп. Еп81апс]. 1974. Ссылки на литературу, посвященную проектированию и разработке больших программных систем, можно найти в копне главы 23. Русские переводы: !ВоосЬ, 1994] (Е]1!я, 1989] ' Далее при ссылках на литературу указаны номера странип оригинальных изданий.— 17римеч. дед. 1Кегп18Ьап, 1988] !Кпцг]з, 1968] !ОгтсеИ, 1949] ]Ягопяггпр, 1986] Г. Буч. Обвекгпно-ориентированный анализ и проектирование с при»иеражи прилозкений на С++, 2-е издание. СПб. «Невский Диалект».
1998. Б. Страуструп, М. А. Эллис. Справочное руководство по язы- ку С"- с комментариями; проект стандарта АХ81. М, «Мир». 1992. Б. Керниган, Д. Ричи. Язык программирования Си. 3-е изда- ние. СПб. «Невский Диалект». 2001. Д. Кнут. Искусство программирования для ЭВМ. т. 1, 2, 3. Москва. «Мирт 1976. Дж, Оруалл. 1984 (см, в сборнике: Дж.
Оруэлл. Проза отчаяния и надежды. СПб. Лениздат, 1990). Гх Страуструп. Язык программирования Сие». Москва. «Ра- дио и связь». 1991. Обзор С++ Первым делолг давайте ггзбавггмся от всех защитников языка — Генрих Л, часть П Что такое С»»? — парадигмы программирования — пропедурпое программирование — модульность — раздельная компиляция — обработка исключений — абстракция данных — типы, опредсляемые пользователем— конкретные типы — абстрактные типы — виртуальные функции — объектноориентированное программирование — обобщенное программнрованне— контейнеры — алгоритмы — язык и программирование — советы. 2.1. Что такое С++? Сз» вЂ” язык программирования общего назначения с уклоном в сторону системного программирования, который: лучше, чем С, поддерживает абстракцию данных, поддерживает объектно-ориентированное программирование, поддерживает обобщенное программирование.
В данной главе объясняется, что все это значит, без анализа топких деталей опреде- ления языка. Пель главы — дать общее представление о Сч» и его ключевых методах, а не детальную информацию, необходимую, чтобы начать программировать на С-'ч. Если некоторые части этой главы покажутся вам трудными для понимания— просто пропустите их и пробивайтесь дальше. Все будет объяснено подробно в после- дующих главах. Однако, если вы пропустили часть атой главы, будьте добры — воз- вратитесь к пей позднее. Детальное понимание средств языка — даже всех средств языка —.
не может ком пенси- ровать отсутствия общего представлегшя о языке и основных методах его использования. 2.2. Парадигмы программирования Объектно-ориентированное программирование является техникой программирования — парадигмой для написания чхороших» программ, решающих различные задачи. Если термин «объектно-ориентированный язык программирования» вообще что-либо означает, он должен означать язык программирования, который предоставляет удобные механизмы поддержки объектно-ориентированного стиля программирования. 58 Глава 2. Обзор С++ Отметим следующий существенный момент. Можно сказать, что язык поддержи- вает данный стиль, если он предоставляет средства, которые делают использование стиля удобным (достаточно простым, надежным и эффективным).
Язык не поддер- живает технику программирования, если для написания соответствующей програм- мы требуются чрезмерные усилия либо мастерство. Такой язык просто предостав- ляегл возлюжности для использования данной техники. Например, можно написать структурную программу на языке Рог1гап77 или объектно-ориентированную про- грамму на С, но это неоправданно сложно, потому что упомянутые языки не поддер- живают соответствующие техники непосредственно. Поддержка парадигмы проявляется не только в наличии средств языка, позволя- ющих непосредственно использовать парадигму, но и (более тонко) в виде проверок в момент компиляции и/нли выполнения на неумышленнос отклонение от парадиг- мы. Наиболее очевидной иллюстрацией является проверка соответствия типов. Вы- явление неоднозначности и проверка во время выполнения также используются для расширения поддержки парадигмы.