Designing Components with the C++ STL: A New Approach to Programming (Revised Edition)

3.2 avg rating
( 5 ratings by Goodreads )
 
9780201674880: Designing Components with the C++ STL: A New Approach to Programming (Revised Edition)

'This book is the most accurate and up-to-date source of information on the STL currently available. ! It has an approach and appeal of its own: it explains techniques for building data structures and algorithms on top of the STL, and in this way appreciates the STL for what it is -- a framework.' - Angelika Langer, Independent Consultant and C++ Report Columnist "A superbly authored treatment of the STL...an excellent book which belongs in any serious C++ developer's library." - Jim Armstrong, President 2112 F/X, Texas. The C++ Standard Template Library (STL) represents a breakthrough in C++ programming techniques. With it, software developers can achieve vast improvements in the reliability of their software, and increase their own productivity. Designing Components with the C++ STL has three aims: / to introduce the reader to the STL / to show how this powerful resource can be exploited / to extend its use to the construction of new components. This revised edition is fully compliant with the new ISO/IEC C++ Standard with an associated web site containing numerous, fully up-to-date examples for downloading.The author shows how to make practical use of the STL through a wealth of examples and by drawing on his extensive experience and knowledge gained working with the C++ Standardization Committee. Unique insight into the internals of the STL takes the reader beyond simply using it, to show how the components supplied in the STL can be used to design more complex data structures and algorithms, and powerful abstract data types. Throughout, the author maintains an elegant and sophisticated coding style, adhering faithfully to the current ISO/ANSI standards, helping to ensure that your software will be even more portable, maintainable and reusable than ever.

"synopsis" may belong to another edition of this title.

About the Author:

Dr Ulrich Breymann is Professor of Technical Computer Science and Managing Director of the Institute for Computer Science and Automation at the Hochschule, Bremen. He has nearly 20 years of experience working in industrial systems analysis and software development, and is a member of the German DIN Working Group for the standardization of C++. He has written two best-selling German books on C++, edited another and is a regular contributor of C++-related articles to numerous journals and magazines.



0201674882AB04062001

Excerpt. Reprinted by permission. All rights reserved.:

Preface

The Standard Template Library (STL)


One reason for the success of C++ is that today a large number of libraries is available on the market which greatly facilitate the development of programs, because they offer reliable and well-proven components. A particularly carefully constructed library is the Standard Template Library, which has been developed at Hewlett-Packard by Alexander Stepanov, Meng Lee, and their colleagues. It has been accepted by the ANSI/ISO committee as part of the C++ Standard ISO/IEC 14882.

The emphasis of the STL is on data structures for containers, and the algorithms that work with them. The technical reference document of the STL (Stepanov and Lee,1995) has practically, with some modifications, become a part of the C++ Standard. Both are the basis for the first two parts of this book.

The C++ Standard Library and the STL

The STL does not include the entire C++ Standard Library nor all its templates; it represents, however, the most important and most interesting part. The C++ Standard Library includes several areas:

· Generic data structures and algorithms

containers
algorithms
iterators
functional objects

· Internationalization

· Diagnosis (exceptions)

· Numeric issues

complex numbers
numeric arrays and related operations

· Input and output library (streams)

· Miscellaneous

memory management (allocators) and access
date and time
strings

The emphasized text above constitutes the subject of this book - in other words, the book does not deal with the historic STL, but with that part of the C++ Standard Library that has originated from the STL. Besides an introduction, the emphasis is on sample applications and the construction of new components on the basis of the STL. Owing to several requirements by the ISO/ANSI standard committee, this part of the C++ Standard Library no longer matches the original STL exactly. Thus, a more precise - albeit too long - title for this book would be Generic algorithms and data structures of the C++ Standard Library - introduction, applications, and construction of new components. The changes affect only some details, but not the concept; therefore the name Standard Template Library and the abbreviation STL have been retained.

The STL as a framework

The STL is an all-purpose library with an emphasis on data structures and algorithms. It makes heavy use of the template mechanism for parameterizing components. The uniform design of the interfaces allows a flexible cooperation of components and also the construction of new components in STL-conforming style. The STL is therefore a universally usable and exendable framework, which offers many advantages with respect to quality, efficiency, and productivity. The successful concept has already been copied, as the Java Generic Library shows.

Aims of this book
The book has two aims. As a technical reference, the reference document mentioned earlier is hardly suited to explain the concepts of the STL. Therefore, the first aim is to present how the STL can be used in a sensible way. Internal details of the STL are described only to the extent needed to understand how it works. However, this book is more than a simple introduction. With the aid of comprehensive examples, the STL is presented as a tool box for the construction of more powerful and sometimes even faster components. These components are more complex data structures and algorithms which can be efficiently implemented by means of the modules contained in the STL. The algorithms are evaluated with respect to their run time behavior relative to the amount of data to be processed (time complexity). However, not only the modules themselves and their combination are of interest, but also the programming techniques employed in the STL and in this book.

Readership
This book is intended for all those involved in the development of software in C++, be they system designer, project manager, student of computer science, or programmer. To make the software portable, maintainable, and reusable, it is highly recommended that valid standards are adhered to and thoroughly exploited - otherwise, they would not be needed. The use of prefabricated components such as those of the STL increases both the reliability of the software and the productivity of the developers. The precondition for understanding this book is knowledge of the C++ programming language and its template mechanisms which can be gained by reading good text books on the subject, such as the C++ Primer written by Lippman and Lajoie.

Structure of the book
The book is divided into three parts. Part I is an introduction to the STL and describes its concepts and elements, with the emphasis on iterators and containers. The concept of iterators and containers is essential for the working of the algorithms.

Part II discusses the standard algorithms, where almost every algorithm is illustrated with an example. Because of the large number of algorithms described, it should be viewed as a catalog.

Part III describes applications and extensions. Extensive examples help to show how the components supplied by the STL can be used to design more complex data structures and algorithms and powerful abstract data types.

Examples
Not only is the functioning of STL elements described, but for almost every element and all the applications of Part III an executable example is presented that can be run on the reader's computer. This gives the reader a chance to experiment and achieve a deeper understanding.

The examples are available via FTP or the Internet, see
ftp://ftp.informatik.hs-bremen.de/pub/brey/stl or http://www.informatik.hs-bremen.de/~brey/stlbe.html

Remarks
The original public domain implementation of the STL by Hewlett-Packard is a little bit different to the C++ standard, since modifications and extensions have been carried out since the integration of the STL. In the meantime also other implementations are available, e.g. from Silicon Graphics or RogueWave. It can be expected that some time after the publication of the C++ standard in September 1998 all compiler producers will supply an STL implementation conforming to the standard, so that differences in various implementations will play only a very marginal role.

In the text, programming issues such as variables, keywords, and program examples can be recognized by this type style. Explanations that interrupt the text of a program are marked as indented comments . Names of files are printed in italics and screen displays in slanted characters. A little lightbulb indicates an important hint or tip for programming.

Suggestions and criticism are more than welcome. If you want to point out errors or make suggestions or critical remarks, you can contact the author either through the publisher or directly via e-mail.

Acknowledgements
I have received many suggestions from my colleagues Ulrich Eisenecker (Fachhochschule Heidelberg), Andreas Spillner (Hochschule Bremen), Bernd Owsnicki-Klewe (Fachhochschule Hamburg) and Andreas Scherer (RWTH Aachen), and I am very grateful to them for their critical and thorough review of the manuscript and for their helpful hints and tips. All weaknesses and errors rest solely with the author.

0201674882P04062001

"About this title" may belong to another edition of this title.

Top Search Results from the AbeBooks Marketplace

1.

Breymann, Ulrich
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Hardcover Quantity Available: 2
Seller:
Murray Media
(North Miami Beach, FL, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Hardcover. Book Condition: New. Bookseller Inventory # P110201674882

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 44.87
Convert Currency

Add to Basket

Shipping: US$ 1.99
Within U.S.A.
Destination, Rates & Speeds

2.

Ulrich Breymann
Published by Pearson Education (US), United States (1999)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Paperback Quantity Available: 10
Print on Demand
Seller:
The Book Depository US
(London, United Kingdom)
Rating
[?]

Book Description Pearson Education (US), United States, 1999. Paperback. Book Condition: New. 2nd edition. Language: English . Brand New Book ***** Print on Demand *****. This book is the most accurate and up-to-date source of information on the STL currently available. ! It has an approach and appeal of its own: it explains techniques for building data structures and algorithms on top of the STL, and in this way appreciates the STL for what it is -- a framework. - Angelika Langer, Independent Consultant and C++ Report Columnist A superbly authored treatment of the STL.an excellent book which belongs in any serious C++ developer s library. - Jim Armstrong, President 2112 F/X, Texas. The C++ Standard Template Library (STL) represents a breakthrough in C++ programming techniques. With it, software developers can achieve vast improvements in the reliability of their software, and increase their own productivity. Designing Components with the C++ STL has three aims: / to introduce the reader to the STL / to show how this powerful resource can be exploited / to extend its use to the construction of new components. This revised edition is fully compliant with the new ISO/IEC C++ Standard with an associated web site containing numerous, fully up-to-date examples for downloading.The author shows how to make practical use of the STL through a wealth of examples and by drawing on his extensive experience and knowledge gained working with the C++ Standardization Committee. Unique insight into the internals of the STL takes the reader beyond simply using it, to show how the components supplied in the STL can be used to design more complex data structures and algorithms, and powerful abstract data types. Throughout, the author maintains an elegant and sophisticated coding style, adhering faithfully to the current ISO/ANSI standards, helping to ensure that your software will be even more portable, maintainable and reusable than ever. Bookseller Inventory # AAV9780201674880

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 70.41
Convert Currency

Add to Basket

Shipping: FREE
From United Kingdom to U.S.A.
Destination, Rates & Speeds

3.

Ulrich Breymann
Published by Pearson Education (US), United States (1999)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Paperback Quantity Available: 10
Print on Demand
Seller:
The Book Depository
(London, United Kingdom)
Rating
[?]

Book Description Pearson Education (US), United States, 1999. Paperback. Book Condition: New. 2nd edition. Language: English . Brand New Book ***** Print on Demand *****. This book is the most accurate and up-to-date source of information on the STL currently available. ! It has an approach and appeal of its own: it explains techniques for building data structures and algorithms on top of the STL, and in this way appreciates the STL for what it is -- a framework. - Angelika Langer, Independent Consultant and C++ Report Columnist A superbly authored treatment of the STL.an excellent book which belongs in any serious C++ developer s library. - Jim Armstrong, President 2112 F/X, Texas. The C++ Standard Template Library (STL) represents a breakthrough in C++ programming techniques. With it, software developers can achieve vast improvements in the reliability of their software, and increase their own productivity. Designing Components with the C++ STL has three aims: / to introduce the reader to the STL / to show how this powerful resource can be exploited / to extend its use to the construction of new components. This revised edition is fully compliant with the new ISO/IEC C++ Standard with an associated web site containing numerous, fully up-to-date examples for downloading.The author shows how to make practical use of the STL through a wealth of examples and by drawing on his extensive experience and knowledge gained working with the C++ Standardization Committee. Unique insight into the internals of the STL takes the reader beyond simply using it, to show how the components supplied in the STL can be used to design more complex data structures and algorithms, and powerful abstract data types. Throughout, the author maintains an elegant and sophisticated coding style, adhering faithfully to the current ISO/ANSI standards, helping to ensure that your software will be even more portable, maintainable and reusable than ever. Bookseller Inventory # AAV9780201674880

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 72.78
Convert Currency

Add to Basket

Shipping: FREE
From United Kingdom to U.S.A.
Destination, Rates & Speeds

4.

Ulrich Breymann
Published by Pearson Education (1999)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Quantity Available: > 20
Print on Demand
Seller:
Books2Anywhere
(Fairford, GLOS, United Kingdom)
Rating
[?]

Book Description Pearson Education, 1999. PAP. Book Condition: New. New Book. Delivered from our UK warehouse in 3 to 5 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Bookseller Inventory # LQ-9780201674880

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 65.71
Convert Currency

Add to Basket

Shipping: US$ 11.90
From United Kingdom to U.S.A.
Destination, Rates & Speeds

5.

Breymann, Ulrich
Published by Addison Wesley (2016)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Paperback Quantity Available: 1
Print on Demand
Seller:
Ria Christie Collections
(Uxbridge, United Kingdom)
Rating
[?]

Book Description Addison Wesley, 2016. Paperback. Book Condition: New. PRINT ON DEMAND Book; New; Publication Year 2016; Not Signed; Fast Shipping from the UK. No. book. Bookseller Inventory # ria9780201674880_lsuk

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 73.64
Convert Currency

Add to Basket

Shipping: US$ 5.13
From United Kingdom to U.S.A.
Destination, Rates & Speeds

6.

Breymann, Ulrich
Published by Addison-Wesley (1999)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Hardcover Quantity Available: 1
Seller:
Revaluation Books
(Exeter, United Kingdom)
Rating
[?]

Book Description Addison-Wesley, 1999. Hardcover. Book Condition: Brand New. revised edition. 320 pages. 9.50x7.00x0.75 inches. In Stock. Bookseller Inventory # zk0201674882

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 78.42
Convert Currency

Add to Basket

Shipping: US$ 7.93
From United Kingdom to U.S.A.
Destination, Rates & Speeds

7.

Ulrich Breymann
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Hardcover Quantity Available: 1
Seller:
Irish Booksellers
(Rumford, ME, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Hardcover. Book Condition: New. book. Bookseller Inventory # M0201674882

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 89.93
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

8.

Ulrich Breymann
Published by Addison Wesley (2000)
ISBN 10: 0201674882 ISBN 13: 9780201674880
New Hardcover Quantity Available: 1
Print on Demand
Seller:
Rating
[?]

Book Description Addison Wesley, 2000. Book Condition: New. This item is printed on demand for shipment within 3 working days. Bookseller Inventory # GM9780201674880

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 129.09
Convert Currency

Add to Basket

Shipping: US$ 3.53
From Germany to U.S.A.
Destination, Rates & Speeds