- Paperback: 570 pages
- Publisher: Prentice Hall; 1 edition (December 21, 1997)
- Language: English
- ISBN-10: 0135917859
- ISBN-13: 978-0135917855
- Product Dimensions: 7 x 1.3 x 9.1 inches
- Shipping Weight: 1.8 pounds (View shipping rates and policies)
- Average Customer Review: 10 customer reviews
- Amazon Best Sellers Rank: #3,964,810 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
C & C++ Code Capsules: A Guide for Practitioners 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Customers who viewed this item also viewed
From the Inside Flap
This book is for people who program in C and C++ for a living. It assumes that you are already familiar with the syntax and basic constructs of both languages, and it offers practical wisdom for creating effective, real-world programs. Each code capsule, or sample program, contains working code illustrating proven idioms and techniques that leverage the power of these important programming languages.
This book serves as a voice of experience for those who wish to strengthen their skills and improve their effectiveness in the workplace. Despite current fervor for the object-oriented paradigm (which this book abundantly embraces), I make no excuse for paying homage to the C foundations of C++. I have found too many developers ill-prepared to master C++ because they lack a thorough understanding of basic concepts such as pointers, scope, linkage, and static type checking. Perhaps the biggest deficiency of all is a lack of familiarity with the standard C library. It is sad indeed when developers waste time reinventing what the library functions already provide so well. The C++ novice is often too eager to abandon (i.e., gloss over) simple C in favor of the "exciting" features of C++, such as inheritance, exceptions, or overriding operator new, even when such are not warranted. I feel confident that everyone will learn something from these pages. Chapters 1 and 13 through 16 are strictly C++ chapters. Chapters 4 through 6 apply only to the C language. All other chapters cover both the C and C++ aspects of their respective topic. That said, this is primarily a C++ book. As it goes to press, the C++ standardization effort is in its home stretch. The second public committee draft (CD2) has completed its cycle and only minor edits remain. As a member of this committee since early 1991, I have seen its document grow from 200 to over 750 pages. We have added exceptions, templates, namespaces, runtime type identification (RTTI) and other features to the language, and a sophisticated, templatized system of interrelated algorithms, containers, and iteration constructs to the library (commonly known as the Standard Template Library, or STL). Unlike other standards efforts, this committee has concentrated as much on invention as on standardizing existing practice. The overwhelming intricacies of C++ caused one Internet surfer to post this message: "If C gives you enough rope to hang yourself, then C++ gives you enough rope to hang everyone in your neighborhood, hoist the riggings of a small sailing ship, and still have enough left over to hang yourself." I have labored to illustrate and motivate standard C++ and its library in such a way that you might use your rope more wisely.
The first chapter (Chapter 0), an excerpt from an interview I conducted with Bjarne Stroustrup, records his feelings about the state of C++ as it becomes a standard. The rest of the book is divided into three parts.
Part I: Preliminaries
After a brief tour of C++, these chapters close some of the gaps a typical C programmer might have before s/he prepares to tackle C++. Chapter 2, "Pointers," is based on a well-received three-part series I ran in the C Users Journal in 1993. Chapters 4 through 6 cover what every professional should know about the standard C library, which is a crucial part of standard C++. Part II: Key Concepts
This section thoroughly motivates and illustrates the concepts and features of the C++ language. Chapter 7 introduces data abstraction through classes, and Chapter 8 covers type abstraction as implemented by the C++ template mechanism. Templates are every bit as crucial to the effective use of C++ as objects are, perhaps even more so. Chapter 14 not only treats inheritance and polymorphism, but also illustrates object-oriented design and reuse as it presents a framework for object persistence that works with today's relational database management systems. The chapters in between give the reader depth in important fundamental concepts that too many developers tend to overlook. Part III: Leveraging the Standard Library
Chapters 15 through 20 show how to use and appreciate the notable components of the standard C++ library, as well as elucidate some of the more sophisticated features of the standard C library that went beyond the scope of Chapters 4, 5, and 6. Chapters 15 and 16 explain why the STL subset of the library is what it is, and how to use it effectively. Chapter 19 contains a useful date component that can even handle partial dates, a common business data processing requirement.
In summary, this is book about what works. I've attempted to steer the reader away from the "gotchas" by illustrating "best practices" with a reasonable balance of breadth and depth. Why another C++ book in 1998? Because the language and library haven't stabilized until now. This book goes to press just one week after the standards committee met to approve the final draft of ISO C++, and I have taken care to steer clear of any dark corners that remain (all languages and environment have them). I am confident that all the material in this book will be timely for years to come.
From the Back Cover
This book shares the hard-won wisdom of a highly-successful C++/C programmer - along with a large collection of ANSI-compliant programs that illustrate the true power of C++.This book includes a wide variety of ideas, tips and techniques for programmers of all skill levels. It presents little-known facts about pointers and the preprocessor that are a must for the professional developer. It offers tips and techniques for more effective use of abstraction, templates, bit manipulation, visibility, control structures and exceptions. The book also shows how to make the most of the Standard C and Standard C++ libraries, covering containers and iterators; algorithms; text and file processing; time and date processing; and memory management.For C++ and C professional developers, consultants, faculty and students of all skill levels.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Three chapters are devoted to the C standard library, so if you are a traditional C coder, this will be familiar. However, if you are trying to learn practical C++, there are better books: Effective C++, More Effective C++, C++ Gems...
Many of his examples of `practical' code are written in C, with the C-style comments as the give away. The section on casting does not include any of the new standard safe casting operators, although they are included in the appendix. Several of the examples shown near the end of the book are many pages long, and if you want to use it, you get to type it in manually.
Also, although this may or may not affect your decision to purchase this book, I found the glossy pages VERY DIFFICULT to read under a halogen desk lamp.
If you are looking for a transition from C to C++, or want code samples for bitmasking (2 out of twenty chapters devoted to this), this book may be for you. However, if you want a great C++ book, look elsewhere.
My favorite use of this book is to help settle "style" discussions. Finding a code capsule that discusses why the position I'm supporting has some definite benefits makes it easier to get the point accross.
I put this book right on the shelf next to Scott Meyers' two books (Effective C++ & More Effective C++) and Jim Coplein's Advanced C++ as "read once a year".