Главная » Просмотр файлов » Б. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004

Б. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004 (1160791), страница 9

Файл №1160791 Б. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004 (Б. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004) 9 страницаБ. Страуструп - Язык программирования С++. Специальное издание, 3-изд. Бином. 2004 (1160791) страница 92019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

Таким образом, я пе только описываю средства языка, которые поддерживают технику абстракции данных, но также объясняю и саму зту технику. Часть !У продвигается дальше в этом направлении. В части !Ц описывается стандартная библиотека С+ч-. Цель части состоит в том, чтобы объяснить, как пользоваться библиотекой, продемонстрировать основные методы проектирования и программирования, а также показать, каким образом можно дополнять библиотеку.

Библиотека предоставляет контейнеры (таьис как!1з1, вес1ог п тар .— главы 16, 17), стандартные алгоритмы (такие как зог1,72лЫ и тегяе — главы 18, 19), строки (глава 2 0), операции ввода/вывода (глава 21) и поддержку вычислений (глава 22). Б части !'ч' обсуждаются вопросы, возникающие при проектировании и реалгьзации больших программных систем.

В главе 23 внимание сосредоточено на вопросах проектирования н управления. В главе 24 обсуждается связь между языком программирования Сч-ч- и проектированием. В главе 25 представлены некоторые способы использования классов при проектировании. В приложении Л описана грамматика Сч-ч- с комментариями. В приложении Б обсуждается связь между С и С+ч- и между 5сапдагс! Сч-ч- (пазываемом также !5О Сь '- и Л)х)8! Сьж) и предыдущими версиями Сч-ч-.

В приложении В представлены 39 1.1. Структура этой книги некоторые примеры, связанные с техническими аспектами языка. Приложение Г посвящено средствам стандартной библиотеки, обеспечивающим локализацию программного обеспечения, В приложении Д~ обсуждаются гарантии безопасности исключений и соответствующие требования стандартной библиотеки. 1.1.1. Примеры и ссылки В этой книге акцент сделан скорее на организации программ, а не на создании алгоритмов.

Соответственно, я избегал заумных и трудных для понимания алгоритмов. Тривиальный алгоритм обычно лучше подходит для иллюстрации нюансов определения языка илн структуры программы, Например, в этой книге я использую сортировку Шелла, тогда как в реальной жизни быстрая сортировка подходит лучше.

Часто реализация на базе более подходящего алгоритма предлагается в качестве упражнения. В реальном коде обычно более желателен вызов библиотечной функции, нежели код, используемый здесь для иллюстрации средств языка. Учебные примеры неизбежно дают искаженное представление о разработке программ. За счет упрощения примеров, сложности, возникающие из-за больших размеров программ, исчезают. Я не вижу другого пути, кроме написания программ реального размера, для получения реального представления о программировании и конкретном языке программирования. Основное внимание в этой книге уделяется элементам языка, базовым методам, на основе которых строятся все программы, а также правилам этого построения.

Выбор примеров обусловлен моим прошлым опытом в моделировании, написашзи компиляторов и библиотек. Примеры являются упрощенными вариантами того, что содержится в реальном коде. Упрощение необходимо, чтобы язык программирования и вопросы, связанные с проектированием, не затерялись среди деталей.

В книге нет претенциозных примеров, не имеющих аналогов в реальном коде. Там где это возможно, я переносил в приложение В примеры, связанные с техническими деталями языка. В них частенько используются переменные с именами х н у, типы называются А и В, а функции — Я и к' (! В примерах программ используется пропорциональный шрифт. Например: Фтс(ит!е<гозтгеат> (ат шаай! зта: саит « 'Здрав сгавдаб мир! т,п"; На первый взгляд такое написание кажется неестественным для программистов, привыкших видеть шрифт с буквами одинаковой ширины, Однако пропорциональный шрифт легче и лучше воспринимается, чем моноширинный.

Использование пропорционального шрифта также позволяет избежать многих неестественных разры- ' Здесь и далее многие строки будут записываться по-русски. В большинстве случаев это не должно вызвать проблем. Однако следует учитывать, что если вы тшшете консольное приложение для %'~пдоттз (например, в М!с сотой ЪЪоз! С ж 5,0), то выводимый русский текст может оказаться нечитаемым; в интегрированной среде он по умолчанию набирается в кодировке Утшоожз, а консоль правильно отображает русские буквы только в кодировке ГЗОЗ.

— Приаеч. рвд. 40 Глава 1. Обращение к читателю вов строк в коде. Более того, мои эксперименты показали, что большинство людей через некоторое время считают новый стиль более читабельным. Там где это возможно, свойства языка С++ и библиотеки описаны скорее в контексте их использования, чем в сухой манере руководства или справочника.

Представленные элементы языка и степень детализации их описания отражают мой взгляд на то, что именно необходимо для эффективного использования С++, Дополнением к настоящему изданшо сможет послужить книга 7йе Аппога1е«7 С+ «йапбиаяе бгапааха (Стандарт языка Се«с комментариями), которую мы с Эндрю Кепи)ом (Апдгеч«Коеп(К) сейчас пишем. Это издание будет содержать полное определение языка с комментариями, призванными сделать его более доступным для понимания. Логично предположить, что должно быть и другое дополнение, 7йе Аппо1агед С-' '- Яапдахд )л)»таку(Стандартная библиотека С '-+ с комментариями). Однако ввиду того, что время и мои возможности как автора ограничены, я не могу обещать, что подготовлю ~акую книгу.

Ссылки на разделы книги даны в форме 9 2.3.4 (глава 2, раздел 3, подраздел 4), э Б,5.6 (приложение Б, подраздел 5.6) или 6 6.61101 (глава 6, упражнение 10). Курсив используется для логического выделения (например, «строковая переменная не допустима»), при первом упоминании важной концепции (например, полиморфизм) и в комментариях в коде. Полужирным курсивом пишутся идентификаторы, ключевые слова и числовые величины в примерах (например, с1азз, соип1ег, 1712). 1.1.2. Упражнения Упражнения находятся в конце глав. Большинство упражнений принадлежат к типу «напиши программу».

Всегда пишите код, достаточный для того, чтобы его можно было откомпилировать и запустить с несколькими (по крайней мере) тестовыми варйантамн данных. Упражнения значительно различаются по сложности, поэтому они помечены цифрами, оценивающими их сложность. Масштаб экспоненциальный, так что упражнение (*1) займет десять минут, ("2) может занять час, а (*3) — целый лень.

Время, необходимое для написания программы, больше зависит от вашего опыта, чем от само~о упражнения. Упражнение со сложностью (*1) может занять у вас целый день, если вы впервые знакомитесь с новой компьютерной системой и разбираетесь, как ее запустить. С другой стороны, упражнение (*5) может быть сделано кем-нибудь за час, если у него под рукой находится подходящий набор утилит.

Любая книга по программированию на С может быть использована в качестве дополнительных упражнений к части 1. Любая книга по структурам данных и алгоритмам может быть использована в качестве источника упражнений для частей П и П1. 1.1.3. Замечания по реализации В книге используется «чистый С++», описанный в стандарте С++ 1С»«, 1997~, [С««, 20031. Поэтому примеры должны выполняться в любой реализации С+«. Большинство фрагментов программ в этой книге были проверены с использованием нескольких реализаций С««.

Примеры, использующие свойства, только недавно реализованные в С++, компилировались пе всеми реализациями. Однако я не вижу смысла в упоминании реализаций, на которых они не компилировались. Эта информация скоро устареет, потому что поставщики компиляторов ин- а! 1.2.

Изучение С++ тенсивно работают и быстро внедряют все новые свойства С++. В приложении Б вы найдете предложения по устранению проблем, связанных со старыми компиляторами С++ и колом, написанным для компиляторов С. 1.2. Изучение С++ Самая важное при изучении С-и- — сконцентрировать внимание на концепциях и не потеряться в технических деталях языка. Целью изучения языка программирования является повышение профессионального уровня, то есть вы должны научиться более эффективно проектировать и реализовывать новые системы, равно как н поддерживать существующие.

Для этой цели осознание методов проектирования и программирования является более важным, нежели понимание деталей — последнее придет позднее вместе с опытом. С»» поддерживает множество стилей программирования. Все они основаны на строгой статической проверке типов, и целью большей их части является достижение высокого уровня абстракции данных и непосредственного отображения идей программиста. Каждый стиль может эффективно достичь этих целей, в то же время обеспечивая эффективность выполнения и использования ресурсов.

Программисты, приходящие из различных языковых сред (например, С, Рог!лап, Е1зр, МЦ Лйа, Е1!1с!, Разса1 илн Мог!в!а-2), должны понять; лля того чтобы воспользоваться преимуществами С++, необходимо потратить время на изучение и применение стилей программирования, приемлемых для С++. Тоже самое касается программистов, пользовавшихся более ранней и менее выразительной версией С++. Бездумное применение в новом языке методов, эффективных в другом языке, обычно ведет к неуклюжему, медленному и сложному в сопровождении коду.

Такой код к тому же еще н неприятно писать, потому что каждая строка кода н казкдое сообщение компилятора об ошибке напоминают программисту, что используемый язык отличается от «старого языка». Вы можете писать в стиле Еогггап, С, Вша!!та!к н т. п. ца любом языке, но это и неприятно и неэкономично в языке с другой философией. Любой язык может послужить щедрым источником идей о том, как писать программы на С++. Однако для того, чтобы быть эффективным в новом контексте, эти идеи нужно трансформировать в нечто другое, более соответсвуюшее обшей структуре и системе типов С++.

Характеристики

Тип файла
DJVU-файл
Размер
10,02 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6274
Авторов
на СтудИзбе
316
Средний доход
с одного платного файла
Обучение Подробнее