Accelerated
Practical Programming by Example
Andrew Koenjg
Barbara E. Moo
^
TT
ADDISON-WESLEY
Boston ¦ San Francisco • New York ¦ Toronto ¦ Montreal
London ¦ Munich ¦ Paris ¦ Madrid
Capetown ¦ Sydney ¦ Tokyo ¦ Singapore ¦ Mexico City
Эффективное
программирование на
Практическое программирование на примерах
Эндрю Кёниг
Барбара My
Издательский дом "Вильяме"
Москва ¦ Санкт-Петербург ¦ Киев
2002
ББК 32. 973. 26-018. 2. 75
К35
УДК 681. 3. 07
Издательский дом "Вильяме"
Зав. редакцией А. В. Слепцов
Перевод с английского и редакция Н. М. К35 Эффективное программирование на C++. Серия C++ In-Depth, т. 2. :
Пер. с англ. — М. : Издательский дом "Вильяме", 2002. — 384 с. : ил. —
Парад, тит. англ. ISBN 5-8459-0350-5 (рус. )
Эта книга, в первую очередь, предназначена для тех, кому хотелось бы бы-
быстро научиться писать настоящие программы на языке C+ + . Зачастую новички
в C++ пытаются освоить язык чисто механически, даже не попытавшись уз-
узнать, как можно эффективно применить его к решению каждодневных про-
проблем.
Цель данной книги — научить программированию на C+ + , а не просто
изложить средства языка, поэтому она полезна не только для новичков, но и
для тех, кто уже знаком с языком C++ и хочет использовать его в более нату-
натуральном, естественном стиле. ББК 32. 973. 26-018. 2. 75
Все названия профаммных продуктов являются зарегистрированными торговыми марками
соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой
бы то ни было форме и какими бы то ни было средствами, будь то электронные или механиче-
механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного
разрешения ичдательстпа Addison-Wcslcy Publishing Company, Inc. Authorized translation from the English language edition published by Addison-Wesley Publishing
Company, Inc, Copyright ©2000
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage re-
retrieval system, without permission from the Publisher. Russian language edition published by Williams Publishing House according to the Agreement with
R&I Enterprises International, Copyright © 2002
ISBN 5-8459-0350-5 (рус. ) © Издательский дом "Вильяме", 2002
ISBN 0-201-77581-6 (англ. ) © Addison-Wesley Publishing Company, Inc
Оглавление
Введение 1S
0. Итак, начнем 21
1. Работа со строкам и 20
2. Организация циклов и вычислений 39
3. Работа с группами данных < 50
4. Организация программ и данных 75
5. Использование последовательных контейнеров 101
6. Использование библиотечных алгоритмов 120
7. Использование ассоциативных контейнеров 153
8. Создание обобщенных функций 171
9. Определение новых типов 180
10. Управление памятью и использование структур данных низкого уровня 205
11.