Demonstrates how to use the STL in C++ while covering such topics as associative arrays, allocators, iterators, and algorithms, and the accompanying software provides source code and example programs. Original. (Advanced)
"It is the first book that I have read that makes STL quickly usable by working programmers" Francis Glassborow, Chair of The Association of C & C++ Users (ACCU) STL for C++ programmers Leen Ammeraal The Standard Template Library (STL) provides many useful and generally applicable programming tools. This book combines reference material and a well-paced tutorial to get you past the basics quickly. Small, complete programs illustrate the key STL features such as containers, algorithms, iterators and function objects. A section is devoted to the new string data type. All STL algorithms are formally presented by their prototypes and then informally described to show how to use them in practice. Concepts are well illustrated with a large number of example programs all of which are available via ftp (for access details please refer to the preface of the book or Wiley's website). Finally, special examples are given to explain the advanced notions of function objects and function adaptors, including predicates, binders and negators.
Herbert Schildt's reference for C and C++ programmers presents an annotated list of alphabetical keywords, functions and class libraries. It is suitable for both the experienced programmer and also the new programmer. The third edition now includes coverage of the new .NET extensions.
"The second edition is clearer and adds more examples on how to use STL in a practical environment. Moreover, it is more concerned with performance and tools for its measurement. Both changes are very welcome." --Lawrence Rauchwerger, Texas A&M University "So many algorithms, so little time! The generic algorithms chapter with so many more examples than in the previous edition is delightful! The examples work cumulatively to give a sense of comfortable competence with the algorithms, containers, and iterators used." --Max A. Lebow, Software Engineer, Unisys Corporation The STL Tutorial and Reference Guide is highly acclaimed as the most accessible, comprehensive, and practical introduction to the Standard Template Library (STL). Encompassing a set of C++ generic data structures and algorithms, STL provides reusable, interchangeable components adaptable to many different uses without sacrificing efficiency. Written by authors who have been instrumental in the creation and practical application of STL, STL Tutorial and Reference Guide, Second Edition includes a tutorial, a thorough description of each element of the library, numerous sample applications, and a comprehensive reference. You will find in-depth explanations of iterators, generic algorithms, containers, function objects, and much more. Several larger, non-trivial applications demonstrate how to put STL's power and flexibility to work. This book will also show you how to integrate STL with object-oriented programming techniques. In addition, the comprehensive and detailed STL reference guide will be a constant and convenient companion as you learn to work with the library. This second edition is fully updated to reflect all of the changes made to STL for the final ANSI/ISO C++ language standard. It has been expanded with new chapters and appendices. Many new code examples throughout the book illustrate individual concepts and techniques, while larger sample programs demonstrate the use of the STL in real-world C++ software development. An accompanying Web site, including source code and examples referenced in the text, can be found at http://www.cs.rpi.edu/~musser/stl-book/index.html.
Introduces programmers to the generic programming paradigm and to the C++ Standard Template Library and its use as an extensible framework for generic and interoperable components. Explains ideas underlying generic programming and shows how to create algorithms decoupled from the types and data structures they operate on, and how to write more efficient code that can be used and reused across platforms. Assumes familiarity with C++ and algorithms. Annotation copyrighted by Book News, Inc., Portland, OR
The Best-Selling C++ Resource Now Updated for C++11 The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components–and to benefit from their power–you need a resource that does far more than list the classes and their functions. The C++ Standard Library: A Tutorial and Reference, Second Edition, describes this library as now incorporated into the new ANSI/ISO C++ language standard (C++11). The book provides comprehensive documentation of each library component, including an introduction to its purpose and design; clearly written explanations of complex concepts; the practical programming details needed for effective use; traps and pitfalls; the exact signature and definition of the most important classes and functions; and numerous examples of working code. The book focuses in particular on the Standard Template Library (STL), examining containers, iterators, function objects, and STL algorithms. The book covers all the new C++11 library components, including Concurrency Fractional arithmetic Clocks and timers Tuples New STL containers New STL algorithms New smart pointers New locale facets Random numbers and distributions Type traits and utilities Regular expressions The book also examines the new C++ programming style and its effect on the standard library, including lambdas, range-based for loops, move semantics, and variadic templates. An accompanying Web site, including source code, can be found at www.cppstdlib.com.
Standard C++ provides a foundation for creating new, improved, and more powerful C++ components. IOStreams and locales are two such major components for text internationalization. As critical as these two APIs are, however, there are few resources devoted to explaining them. "Standard C++ IOStreams and Locales" fills this informational gap. It provides a comprehensive description of, and reference to, the iostreams and locales classes, showing how to put them to use and offering advanced information on customizing and extending their basic operation. Written by two experts involved with the development of the standard, this book reveals the rationale behind the design of the APIs and points out their potential pitfalls. This book serves as both a guide and a reference to C++ components. Part I explains iostreams, what they are, how they are used, their underlying architectural concepts, and the techniques for extending the iostream framework. Part II introduces internationalization and shows you how to adapt your program to local conventions. Readers seeking an initial overview of the problem domain will find an explanation of what internationalization and localization are, how they are related, and how they differ. With examples, the authors show the differences among cultural conventions, how C++ locales can be used to address such differences, and how locale framework can be extended to handle further, nonstandard cultural conventions. "Standard C++ IOStreams and Locales" Explains formatting and error indication features of iostreams in detail Describes underlying concepts of the iostreams framework Demonstrates implementation of i/o operations for user-defined types Shows techniques for implementing extended stream and stream buffer classes Introduces internationalization Explains how to use standard features for internationalization Demonstrates techniques for implementation of user-defined internationalization services IOStreams and locales serve as a foundation library that provides a number of ready-to-use interfaces, as well as frameworks that can be customized and extended. The class reference to C++ IOStreams and locales completes this comprehensive resource, which belongs in the libraries of all intermediate and advanced C++ programmers. 0201183951B04062001
Geared to experienced C++ developers who may not be familiar with the more advanced features of the language, and therefore are not using it to its full capabilities Teaches programmers how to think in C++-that is, how to design effective solutions that maximize the power of the language The authors drill down into this notoriously complex language, explaining poorly understood elements of the C++ feature set as well as common pitfalls to avoid Contains several in-depth case studies with working code that's been tested on Windows, Linux, and Solaris platforms
My book C++20 is both: a tutorial and a reference for the C++20 standard. It teaches you C++20 and provides you with the details of this new thrilling C++ standard. The thrilling factor is mainly due to the big four of C++20. Concepts change the way we think and program templates. They are semantic categories for the template parameters. They enable you to express your intention directly in the type system. If something goes wrong, you get a clear error message. The new ranges library enables it to perform algorithms directly on the container, compose the algorithm with the pipe symbol, and apply them onto infinite data streams. Thanks to coroutines asynchronous programming in C++ becomes mainstream. Coroutines are the base for cooperative tasks, event loops, infinite data streams, or pipelines. Modules overcome the restrictions of header files. They promise a lot. For example, the separation of header and source files becomes as obsolete as the preprocessor. In the end, we have faster built time and an easier way to build packages. More Details on Leanpub: https://leanpub.com/c20 Source Code on GitHub: https://github.com/RainerGrimm/Cpp20
All the new language and library features of C++17 (for those who know the previous versions of C++). C++17 is the next evolution in modern C++ programming, which is already now supported by the latest version of gcc, clang, and Visual C++. Although it is not as big a step as C++11, it contains a large number of small and valuable language and library features, which will change the way we program in C++. As usual, not everything is self-explanatory, combining new features gives even more power, and there are hidden traps. This book presents all the new language and library features of C++17. It covers the motivation and context of each new feature with examples and background information. The focus is on how these features impact day-to-day programming, what it means to combine them, and how to benefit from this in practice.