Templates are among the most powerful features of C++, but they remain misunderstood and underutilized, even as the C++ language and development community have advanced. In C++ Templates, Second Edition, three pioneering C++ experts show why, when, and how to use modern templates to build software that´s cleaner, faster, more efficient, and easier to maintain. Now extensively updated for the C++11, C++14, and C++17 standards, this new edition presents state-of-the-art techniques for a wider spectrum of applications. The authors provide authoritative explanations of all new language features that either improve templates or interact with them, including variadic templates, generic lambdas, class template argument deduction, compile-time if, forwarding references, and user-defined literals. They also deeply delve into fundamental language concepts (like value categories) and fully cover all standard type traits. The book starts with an insightful tutorial on basic concepts and relevant language features. The remainder of the book serves as a comprehensive reference, focusing first on language details and then on coding techniques, advanced applications, and sophisticated idioms. Throughout, examples clearly illustrate abstract concepts and demonstrate best practices for exploiting all that C++ templates can do. Understand exactly how templates behave, and avoid common pitfalls Use templates to write more efficient, flexible, and maintainable software Master today´s most effective idioms and techniques Reuse source code without compromising performance or safety Benefit from utilities for generic programming in the C++ Standard Library Preview the upcoming concepts feature The companion website, tmplbook.com, contains sample code and additional updates.
C++ Template Metaprogramming sheds light on the most powerful idioms of today´s C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer. A metaprogram is a program that generates or manipulates program code. Ever since generic programming was introduced to C++, programmers have discovered myriad ´´template tricks´´ for manipulating programs as they are compiled, effectively eliminating the barrier between program and metaprogram. While excitement among C++ experts about these capabilities has reached the community at large, their practical application remains out of reach for most programmers. This book explains what metaprogramming is and how it is best used. It provides the foundation you´ll need to use the template metaprogramming effectively in your own work. This book is aimed at any programmer who is comfortable with idioms of the Standard Template Library (STL). C++ power-users will gain a new insight into their existing work and a new fluency in the domain of metaprogramming. Intermediate-level programmers who have learned a few advanced template techniques will see where these tricks fit in the big picture and will gain the conceptual foundation to use them with discipline. Programmers who have caught the scent of metaprogramming, but for whom it is still mysterious, will finally gain a clear understanding of how, when, and why it works. All readers will leave with a new tool of unprecedented power at their disposal?the Boost Metaprogramming Library. Note: CD materials are only available with the print edition.
Genocide: A Comprehensive Introduction is the most wide-ranging textbook on genocide yet published. The book is designed as a text for upper-undergraduate and graduate students, as well as a primer for non-specialists and general readers interested in learning about one of humanity´s enduring blights. The third edition will follow relatively closely the template established by the successful first two editions. Instructors who use the volume from year to yearwill not be required toadjust to extensive structural transformations. This new edition aims to bring the analysis and sourcing up to date; to freshen and renew subsidiary components of the book like images, box texts, secondary cases in the case-study chapters. A wide range of such alterations have been made, but the core chapter structure remains identical with the first two.
Effective C++ 3/e is a complete update of Effective C++ and Effective C++ 2/e . Like its predecessors, 3/e has 55 guidelines which contain better, more effective ways to write code, backed by specific examples. The second edition published in 1997, and was basically a face-lift of the first edition, keeping most of the same elements, and seven years later is still selling well. Now, Meyers has dramatically rejuvenated the material, including more than 30% brand-new material. Meyers began this edition by asking himself, ´´What are the 55 most important pieces of advice for practicing C++ programmers in 2005?´´ He also asked thousands of past users of his books this same question. This resulted in a completely new book. New material includes use of UML notation, thread safety, exception safety, design patterns, and templates. Any older material has been revitalized to reflect new ideas and strides in C++ development. Product Description ´´Every C++ professional needs a copy of Effective C++ . It is an absolute must-read for anyone thinking of doing serious C++ development. If you´ve never read Effective C++ and you think you know everything about C++, think again.´´ - Steve Schirripa, Software Engineer, Google´´C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott´s deep insight and distinctive ability to impart knowledge.´´ - Gerhard Kreuzer, Research and Development Engineer, Siemens AG The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers´ practical approach to C++ describes the rules of thumb used by the experts - the things they almost always do or almost always avoid doing - to produce clear, correct, efficient code. The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading. Important features of Effective C++ include: Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies. Applications of new ´´TR1´´ standard library functionality, along with comparisons to existing standard library components. Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate ´´the C++ way´´ of doing things. Features + Benefits Revision of the best seller. This is the market leading, second book on programming that every C++ programmer needs. ° Scott Meyers is one of the world´s foremost experts on C++ software development. He is an excellent promoter of his books. ° More than 50% new material and complete updates of tried-and-true material to bring it up to 2005 standards. ° There is no better way to bring C++ programmers up to date on cutting edge practices than this book. It´s a classic--the #1 book of its kind. Backcover ´´Every C++ professional needs a copy of Effective C++ . It is an absolute must-read for anyone thinking of doing serious C++ development. If you´ve never read Effective C++ and you think you know everything about C++, think again.´´ - Steve Schirripa, Software Engineer, Google´´C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott´s deep insight and distinctive ability to impart knowledge.´´ - Gerhard Kreuzer, Research and Development Engineer, Siemens AG The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers´ practical approach to C++ describes the rules of thumb used by the experts - the things they almost always do or almost always avoid doing - to produce clear, correct, efficient code. The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to
Now fully revised to include recent advances in the field, the second edition of Pulmonary Pathology , a volume in the Foundations in Diagnostic Pathology series, is an essential foundation text for residents and pathologists . The popular template format makes it easy to use, and new information throughout brings you up to date with what´s new in pulmonary pathology and pulmonary medicine, including molecular genetics and personalized medicine therapies. Practical and affordable , this resource by Drs. Dani S. Zander and Carol F. Farver is ideal for study and review as well as everyday clinical practice .
ITIL Lite has been updated to align with the ITIL 2011 editions. This new edition reflects the latest ITIL best practice, it is aimed at encouraging organizations to adopt ITIL by selecting and implementing key ITIL 2011 components. This publication explains which components are essential and explains how to select the appropriate components for implementation. The title is based around a project template to help readers prepare their own project. Ideal for those departments whose budgets have been reduced but who still want to improve key processes and 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.
For courses in computer programming for business and engineering. Introduction and Advancement in C++ Programming Absolute C++ is a comprehensive introduction to the C++ programming language. The text is organized around the specific use of C++, providing students with an opportunity to master the language completely. Adaptable to a wide range of users, the text is appropriate for beginner to advanced programmers familiar with the C++ language. The Sixth Edition covers everything from basic syntax to more advanced topics, such as polymorphism, exception handling, and the Standard Template Library, making it ideal for both beginner and intermediate students. Updated to reflect the most recent changes in the C++ language, Absolute C++ teaches students to become proficient in a widely used and important programming language.
Animal Behavior, Second Edition, covers the broad sweep of animal behavior from its neurological underpinnings to the importance of behavior in conservation. The authors, Michael Breed and Janice Moore, bring almost 60 years of combined experience as university professors to this textbook, much of that teaching animal behavior. An entire chapter is devoted to the vibrant new field of behavior and conservation, including topics such as social behavior and the relationship between parasites, pathogens, and behavior. Thoughtful coverage has also been given to foraging behavior, mating and parenting behavior, anti-predator behavior, and learning. This text addresses the physiological foundations of behavior in a way that is both accessible and inviting, with each chapter beginning with learning objectives and ending with thought-provoking questions. Additionally, special terms and definitions are highlighted throughout. Animal Behavior provides a rich resource for students (and professors) from a wide range of life science disciplines. Provides a rich resource for students and professors from a wide range of life science disciplines Updated and revised chapters, with at least 50% new case studies and the addition of contemporary in-text examples Expanded and updated coverage of animal welfare topics Includes behavior and homeostatic mechanisms, behavior and conservation, and behavioral aspects of disease Available lab manual with fully developed and tested laboratory exercises Companion website includes newly developed slide sets/templates (PowerPoints) coordinated with the book