Главная » Все файлы » Просмотр файлов из архивов » Файлы формата DJVU » Д. Вандевурд, Н.М. Джосаттис - Шаблоны C++. Справочник разработчика (2003)

Д. Вандевурд, Н.М. Джосаттис - Шаблоны C++. Справочник разработчика (2003), страница 4

DJVU-файл Д. Вандевурд, Н.М. Джосаттис - Шаблоны C++. Справочник разработчика (2003), страница 4 Языки программирования (3274): Книга - 7 семестрД. Вандевурд, Н.М. Джосаттис - Шаблоны C++. Справочник разработчика (2003): Языки программирования - DJVU, страница 4 (3274) - СтудИзба2019-09-19СтудИзба

Описание файла

DJVU-файл из архива "Д. Вандевурд, Н.М. Джосаттис - Шаблоны C++. Справочник разработчика (2003)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 4 - страница

Его кредо можно было бы выразить так: интуитивно понятное изложение материала и акцент на практических аспектах применения шаблонов. В какой-то степени у нас получился альянс ученого и инженера: мы оба имеем дело с одной и той же областью знаний, но сферы наших интересов несколько различны (хотя, разумеется, и имеют много общего).

Начало нашему сотрудничеству положило издательство Адсйзоп-%ез!еу, и сейчас перед вами результат этого сотрудничества. Нам хочется верить, что у нас получи- Глава 1. Об этой книге 22 лась основательная работа, сочетающая в себе тщательно проработанное учебное пособие по шаблонам и детальный справочник.

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

Таким образом обеспечивается доступность изложенного здесь материала как для квалифицированных специалистов, так и для программистов среднего уровня. Изложение материала базируется на языке С++, соответствующем стандарту 1998 года 131], с учетом уточнений, приведенных в нервом списке технических опечаток Комитета по стандартизации С++ (С++ 81апбагб]га11оп Соплпрнее) [32].

Если вы чувствуете, что ваши знания основ С++ несколько устарели или отстали от современного уровня и их необходимо освежить, рекомендуем обратиться к дополнительным источникам информации, в частности 117, 18, 33]. В этих книгах содержится отличное введение в современный язык программирования С++ и его стандартную библиотеку. Кроме того, можно использовать публикации, перечисленные в библиографии.

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

° Часть 1, "Основы". Здесь описаны основные концепции, положенные в основу шаблонов. Эта часть написана в стиле учебника. 1.3. Как читать эту книгу 23 ° Часть П, "Углубленное изучение шаблонов". Здесь представлены детальные сведения о языке. Эта часть является неплохим справочником по конструкциям, связанным с шаблонами. ° Часть П1, "Шаблоны и конструирование". В этой части рассматриваются фундаментальные приемы конструирования, поддерживаемые шаблонами С++, простирающиеся от тривиальных идей до сложных идиом (возможно, нигде до этого не опубликованных). ° Часть 1Ч, "Нетрадиционное использование шаблонов". Основана на предшествующих ей двух частях и рассматривает различные распространенные применения шаблонов.

Каждая из перечисленных частей книги состоит из нескольких глав. Книга также включает несколько приложений, которые охватывают материал, относяшийся не только к шаблонам (например, вопросы перегрузки в С++). Главы, входяшие в состав первой части книги, требуют последовательного изучения. Например, глава 3 основана на материале, рассмотренном в главе 2. Однако в других частях книги связь между главами выражена не столь явно. Например, можно сначала проработать главу, посвященную функциям (глава 22, "Объекты-функции и обратные вызовы"), а уже потом приступать к чтению главы, посвяшенной интеллектуальным указателям (глава 20, "Интеллектуальные указатели").

1.3. Как читать эту книгу Если вы являетесь программистом на С++ и хотите получить общее представление о концепции шаблонов и поближе познакомиться с ней, то вам следует тшательно изучить часть 1, "Основы". С этим материалом имеет смысл хотя бы бегло ознакомиться даже тем, кто с шаблонами уже "на ты", чтобы прочувствовшь стиль и освоиться с используемой в книге терминологией. Эта часть также охватывает некоторые "материально-технические" аспекты, касающиеся организации исходного кода, содержащего шаблоны.

В зависимости от того, какой метод изучения материала вы предпочитаете, можно либо основательно изучить детальную информацию о шаблонах из части 1, либо познакомиться с приемами практического программирования в части 1П (обрашаясь к части П, если возникнут какие-либо вопросы). Последнее представляется особенно целесообразным в случае, если вы приобрели эту книгу для конкретных практических целей. Часть !Ч во многом подобна части 1П, но акцент в ней делается не на приемах конструирования, а на понимании роли шаблонов в конкретных приложениях.

Следовательно, прежде чем приступать к изучению части 1Ч, имеет смысл сначала ознакомиться с материалом, изложенным в части П1. Приложения содержат большое количество полезной информации, на которую сделано много ссылок в основной части книги. Кроме того, мы старались сделать их интереснымн и в качестве самостоятельного материала. Опыт подсказывает, что лучше всего новые знания усваиваются на примерах. Поэтому в книге вы найдете большое количество примеров. Иногда это всего лишь несколько 24 Глава 1.

Об этой книге строк кода, иллюстрирующих теоретическое положение, иногда — полноценные программы, реализующие конкретное применение материала. В последнем случае примеры снабжены комментариями С++ с описанием пути к файлу, в котором содержится код программы. Все эти файлы можно найти на %еЬ-узле данной книги по адресу: Ьсср://мни.Зовцссйв.сом/смр1Ьоо)с/. 1.4. Некоторые замечания о стиле программирования У каждого программиста на С++ свой стиль программирования, и авторы данной книги также не составляют исключения. Понятие стиля включает обычные вопросы: где помешать пробелы, разделители (скобки, фигурные скобки) и т.п. В целом мы старались придерживаться единого стиля, хотя иногда по ходу изложения приходилось делать исключения.

Например, чтобы придать колу больше нагшшности, в разделах руководства были широко использованы пробелы и осмысленные имена, в то время как при рассмотрении более сложных вопросов предпочтение отдавалось компактности. Хотелось бы обратить внимание читателя на то, что в данной книге применяется несколько необычный подход к записи объявлений типов, параметров и переменных. Очевидно, что при объявлении возможно использование нескольких стилей: уо1с хоо(сопле йпс ах) у 1а ~ (с вс йпса к); уо1с) хоо (йпг сопит ах); чоЫ Йоо (1пе сопвсй х) > Для обозначения целочисленной константы мы решили применять несколько непривычный порядок записи — йпс сопвс вместо сопле 1пш Сделано это было по двум причинам.

Во-первых, такой порядок обеспечивает более очевидный ответ на вопрос: "Что именно является константой?". "Что" — зто всегда то, что находится перед модификатором содвс. Однако для выражения 1пс* сопле Ьоо)смак)с; // Указатель не может изменяться, // однако может изменяться // значение, на которое он указывает не существует эквивалентной формы, в которой модификатор сопле стоял бы перед оператором указателя *, хотя сопит йпп )Я = 100у эквивалентно 1ПС СОПВС )з = 100> В этом примере константои является сам указатель, а не целочисленное значение, на которое он указывает.

25 1.4. Некоторые замечания о стиле программирования Вторая причина связана с синтаксической подстановкой, часто встречающейся при работе с шаблонами. Рассмотрим два следующих определения типов: К Гурейей сЬаг* СНАКЯ; Гурейей СНАКЯ сопзс СРТйл // Константный указатель на сЬаг Если вместо СНАКЯ буквально подставить его значение, то смысл второго объявления не изменится: Гурейей сЬаг* сопзс СРТК; // Константный указатель на сЬаг Однако при обратном порядке записи, т.е. если сопвг стоит неред именем определяемого типа, этот принцип неприменим. Рассмотрим вариант определений, альтернативный представленным выше определениям типа: Гурейеб сЬаг* СНАКЯ; Гурейей сопзс СНАКЯ СРТК; //Константный указатель на сЬаг В результате буквальной подстановки значения СНАКЯ получается другой тип: Сурейеб сопзг сЬаг* СРТК; // Указатель на константу сЬаг Очевидно, что сказанное выше справедливо и для спецификатора чо1аг11е.

Что касается расстановки пробелов, то мы решили помещать пробел между амперсандом и именем параметра: уо1й йоо(1пг сопиев х); Это сделано для того, чтобы подчеркнуть разделение между типом параметра и именем параметра. Однако при такой записи еще более запутанными становятся объявления наподобие сЬаг* а, Ь; Здесь согласно правилам, унаследованным из С, а является указателем, а Ь вЂ” обычной символьной переменной. Чтобы исключить такого рода путаницу, мы просто стараемся избегать обьявления нескольких переменных приведенным образом. Данная книга не посвящена стандартной библиотеке С++, однако в ряде приведенных в ней примеров зта библиотека задействована. В общем случае мы используем заголовочные файлы С++ (например, <йозсгеаза>, а не <всййо.

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