Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition)

Buy

This book is a direct outgrowth of my experiences teaching C++ to professional programmers. I've found that most students, after a week of intensive instruction, feel comfortable with the basic constructs of the language, but they tend to be less sanguine about their ability to put the constructs together in an effective manner. Thus began my attempt to formulate short, specific, easy-to-remember guidelines for effective software development in C++: a summary of the things experienced C++ programmers almost always do or almost always avoid doing.

I was originally interested in rules that could be enforced by some kind of lint-like program. To that end, I led research into the development of tools to examine C++ source code for violations of user-specified conditions.1 Unfortunately, the research ended before a complete prototype could be developed. Fortunately, several commercial C++-checking products are now available. (You'll find an overview of such products in the article on static analysis tools by me and Martin Klaus.)

Though my initial interest was in programming rules that could be automatically enforced, I soon realized the limitations of that approach. The majority of guidelines used by good C++ programmers are too difficult to formalize or have too many important exceptions to be blindly enforced by a program. I was thus led to the notion of something less precise than a computer program, but still more focused and to-the-point than a general C++ textbook. The result you now hold in your hands: a book containing 50 specific suggestions on how to improve your C++ programs and designs.

In this book, you'll find advice on what you should do, and why, and what you should not do, and why not. Fundamentally, of course, the whys are more important than the whats, but it's a lot more conveЯкорьnient to refer to a list of guidelines than to memorize a textbook or two.

Unlike most books on C++, my presentation here is not organized around particular language features. That is, I don't talk about constructors in one place, about virtual functions in another, about inheritance in a third, etc. Instead, each discussion in the book is tailored to the guideline it accompanies, and my coverage of the various aspects of a particular language feature may be dispersed throughout the book.

The advantage of this approach is that it better reflects the complexity of the software systems for which C++ is often chosen, systems in which understanding individual language features is not enough. For example, experienced C++ developers know that understanding inline functions and understanding virtual destructors does not necessarily mean you understand inline virtual destructors. Such battle-scarred developers recognize that comprehending the interactions between the features in C++ is of the greatest possible importance in using the language effectively. The organization of this book reflects that fundamental truth.

(HTML tags aren't allowed.)

Rubella Viruses, Volume 15 (Perspectives in Medical Virology)
Rubella Viruses, Volume 15 (Perspectives in Medical Virology)

This latest volume provides a comprehensive review of the latest developments and research studies on the pathogenesis and molecular biology of human congenital infections. It reviews current diagnostic techniques and epidemiological data while describing the progress in research and understanding of continuing prevention of congenital...

.Net Framework 4.5 Expert Programming Cookbook
.Net Framework 4.5 Expert Programming Cookbook

.Net is an architecture neutral and programming language agnostic framework that caters to all requirements, varying from business solutions to multiplayer online 3D games. Version 4.5 added many new features to help with the development of robust and user-friendly solutions. This book will teach you the new features as well as the advanced...

CCNP Switching Study Guide (Exam 640-504 with CD-ROM)
CCNP Switching Study Guide (Exam 640-504 with CD-ROM)
Here's the book you need to prepare for Cisco's new Switching exam, 640-604. Written by Cisco internetworking experts who can help you master the skills and acquire the knowledge needed to approach the test with confidence, this Study Guide provides:

Assessment testing to focus and direct your studies In-depth coverage of official exam...


Applied XML: A Toolkit for Programmers
Applied XML: A Toolkit for Programmers
Looking past much of the hype surrounding XML, Applied XML provides a real-world guide to the XML used in the latest browsers and server-side solutions. Approachable yet filled with useful specifics about XML standards, this book fills a valuable niche for any IS professional, including Java developers.

The notable feature here is the...

The Cambridge History of Science: Volume 2, Medieval Science
The Cambridge History of Science: Volume 2, Medieval Science

This volume in the highly respected Cambridge History of Science series is devoted to the history of science in the Middle Ages from the North Atlantic to the Indus Valley. Medieval science was once universally dismissed as non-existent - and sometimes it still is. This volume reveals the diversity of goals, contexts, and accomplishments in...

Text Processing in Python
Text Processing in Python

Text Processing in Python is an example-driven, hands-on tutorial that carefully teaches programmers how to accomplish numerous text processing tasks using the Python language. Filled with concrete examples, this book provides efficient and effective solutions to specific text processing problems and practical...

©2019 LearnIT (support@pdfchm.net) - Privacy Policy