Mike and Phani's Essential C++ Techniques / Edition 1

Paperback (Print)
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 94%)
Other sellers (Paperback)
  • All (21) from $1.99   
  • New (10) from $11.82   
  • Used (11) from $1.99   


C++ is the language of choice for developing the most sophisticated Windows programs, but it is filled with hidden traps for the unwary. Mike Hyman and Phani Vaddadi's no-nonsense book helps C++ programmers avoid these traps by providing invaluable techniques gleaned from a combined 30 years of experience. In this book, you'll find a number of invaluable real-world tips and techniques that will help you improve your code and coding practices.

What you’ll learn

Who this book is for

This is a terrific book for intermediate C++ programmers looking to improve their C++ programming skills, and advanced programmers seeking extra techniques and novel approaches to solving difficult problems.

Table of Contents

  1. Start with a Good Design
  2. Darn Reasonable Practices
  3. Dealing with Compiler-Generated Code
  4. Pointers and Memory
  5. Arrays
  6. Classes
  7. Abstract Base Classes
  8. Constructors
  9. Inheritance
  10. Operator Overloading
  11. Templates
  12. Miscellaneous Goop
  13. Performance
  14. Using Assembly
  15. General Debugging Stuff
  16. Specific Debugging Stuff
  17. Smart Pointers
  18. Reference Counting
  19. Dynamic Arrays
  20. Strings
  21. Bit Manipulation
  22. Sorting
  23. Regular Expression Matching
Read More Show Less

Editorial Reviews

Jack Woehr

Mike and Phani's Essential C++ Techniques, by Michael Hyman and Phani Vaddadi, is a book in two parts. The first part consists of C++ maxims labeled. The second part consists of a few more complete examples that apparently resisted coercion into the form employed in the first part of the book.

The examples and samples in Mike and Phani's Essential C++ Techniques are instructive, but so are the flaws of this book. Let's examine these flaws in a fashion similar to the book itself:

Flaw 1: It's Been Done Before and Better
Category: Original Thinking

If imitation is the sincerest form of flattery, Scott Meyers is blushing.
Caveat: Sometimes it is best to wait until you have an original idea before writing and publishing a book.

Flaw 2: Save a Tree
Category: Social responsibility of the computer publishing industry

The formatting of the examples in Mike and Phani's Essential C++ Techniques is ostentatiously vertical. The advantage is that the page count is stretched and the book grabs more shelf millimeters. The disadvantage is that you might remember that Mike Hyman is also the author of Visual C++ for Dummies, and thus begin to wonder what Hyman takes you for in the current tome.
Caveat: You may be a technological newbie, but you can still probably recognize watered soup when you taste it.

Flaw 3: Wintel, Wintel Everywhere
Category: Epistemological

Most of the code in Mike and Phani's Essential C++ Techniques, though conforming to the quaint and mediocre conventions of Redmond, is not Microsoft Visual C++-specific. Enough of it is, however, that this should have been signified on the book cover, or at least in the introduction.
In fact, the examples on the CD-ROM are all set up for Visual C++ 6.0 and have no simple makefiles. The only formal notification of this dependency is found on page 225, in the Appendix "About the CD-ROM" where you are informed for the first time:

To use the contents of the CD, you must have a system capable of running Visual C++ 6.0. You should also have Visual C++ 6.0 installed on your machine. Of course, if all you want to do is look at the files, but not compile or run them, you can just use Notepad or any other text editor of your choice.

Such as vi on Solaris 2.6, for instance, which is not an architecture noted for running Visual C++ 6.0, nor Notepad, yet is perfectly adequate to view the sources. So even when the truth comes out, it's factually garbled due to insularity of outlook.

There's even a long Wintel disassembly dump shoveled into Technique 159 "Walking the Call Stack" with a commentary offhanded enough, although stretching into Technique 160, to suggest that the authors are not, on this particular topic, much further along in expertise than the reader.

Caveat: If authors start from the assumption that Visual C++ is the only significant compiler, they're going to startle you occasionally with items from the list of the other important things they don't know and don't know that they don't know.

To summarize, this is not a particularly bad book. It's just not a particularly good book. It's furthermore a book that seems to be trying to take unfair advantage of the reader.
Electronic Review of Computer Books

Read More Show Less

Product Details

  • ISBN-13: 9781893115040
  • Publisher: Apress
  • Publication date: 10/12/1999
  • Edition description: 1999
  • Edition number: 1
  • Pages: 600
  • Product dimensions: 7.42 (w) x 9.25 (h) x 0.70 (d)

Meet the Author

Michael Hyman works on Internet technology at a major software company in the Northwest U.S. and was formerly a business unit manager at Borland Software Corporation. Among his 10 other books are the bestselling Visual C++ For Dummies, Visual J++ For Dummies, and Dynamic HTML For Dummies. He is co-author of Mike and Phani's Essential C++ Techniques, published by Apress.

Phani Vaddadi has 10 years of experience as a development manager for a major software company in the Northwest. He has built and managed numerous development teams, and has directed program management and test organizations. He and Michael Hyman are coauthors of Mike and Phani's Essential C++ Techniques.

Read More Show Less

Table of Contents

Introduction 1
Pt. I The Techniques 3
Ch. 1 Start with a Good Design 5
Ch. 2 Darn Reasonable Practices 13
Ch. 3 Dealing with Compiler-Generated Code 37
Ch. 4 Pointers and Memory 43
Ch. 5 Arrays 55
Ch. 6 Classes 59
Ch. 7 Abstract Base Classes 83
Ch. 8 Constructors 93
Ch. 9 Inheritance 107
Ch. 10 Operator Overloading 115
Ch. 11 Templates 123
Ch. 12 Miscellaneous Goop 127
Ch. 13 Performance 133
Ch. 14 Using Assembly 147
Ch. 15 General Debugging Stuff 151
Ch. 16 Specific Debugging Stuff 157
Pt. II Sample Code 169
Ch. 17 Smart Pointers 171
Ch. 18 Reference Counting 175
Ch. 19 Dynamic Arrays 179
Ch. 20 Strings 191
Ch. 21 Bit Manipulation 199
Ch. 22 Sorting 207
Ch. 23 Regular Expression Matching 213
App. About the CD-ROM 225
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)