C++ Common Knowledge: Essential Intermediate Programming
Autor Stephen C. Dewhursten Limba Engleză Paperback – 28 feb 2005
- Addresses a common problem in the real world, where C++ programmers often have an insufficient grasp of essential C++ features, coding techniques, and design patterns to do production-quality work.
- The programmer's second book on C++, after Lippman's C++ Primer, but before Meyers' Effective C++.
- Rapidly takes the reader from C++ novice to competent C++ practitioner.
Preț: 237.14 lei
Preț vechi: 296.43 lei
-20% Nou
Puncte Express: 356
Preț estimativ în valută:
45.39€ • 47.88$ • 37.82£
45.39€ • 47.88$ • 37.82£
Carte indisponibilă temporar
Doresc să fiu notificat când acest titlu va fi disponibil:
Se trimite...
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9780321321923
ISBN-10: 0321321928
Pagini: 272
Ilustrații: Illustrations
Dimensiuni: 176 x 240 x 13 mm
Greutate: 0.4 kg
Ediția:New.
Editura: Addison-Wesley Professional
Locul publicării:Boston, United States
ISBN-10: 0321321928
Pagini: 272
Ilustrații: Illustrations
Dimensiuni: 176 x 240 x 13 mm
Greutate: 0.4 kg
Ediția:New.
Editura: Addison-Wesley Professional
Locul publicării:Boston, United States
Descriere
“We live in a time when, perhaps surprisingly, the best printed works on C++ are just now emerging. This is one of those works. Although C++ has been at the forefront of innovation and productivity in software development for more than two decades, it is only now being fully understood and utilized. This book is one of those rare contributions that can bear repeated study by practitioners and experts alike. It is not a treatise on the arcane or academic—rather it completes your understanding of things you think you know but will bite you sooner or later until you really learn them. Few people have mastered C++ and software design as well as Steve has; almost no one has such a level head as he when it comes to software development. He knows what you need to know, believe me. When he speaks, I always listen—closely. I invite you to do the same. You (and your customers) will be glad you did.”
—Chuck Allison, editor, The C++ Source“Steve taught me C++. This was back in 1982 or 1983, I think—he had just returned from an internship sitting with Bjarne Stroustrup inventor of C++ at Bell Labs. Steve is one of the unsung heroes of the early days, and anything Steve writes is on my A-list of things to read. This book is an easy read and collects a great deal of Steve’s extensive knowledge and experience. It is highly recommended.”
—Stan Lippman, coauthor of C++ Primer, Fourth Edition“I welcome the self-consciously non-Dummies approach of a short, smart book.”
—Matthew P. Johnson, Columbia University“I agree with the author’s assessment of the types of programmers. I have encountered the same types in my experience as a developer and a book like this will go far to help bridge their knowledge gap.... I think this book complements other books, like Effective C++ by Scott Meyers. It presents everything in a concise and easy-to-read style.”
—Moataz Kamel, senior software designer, Motorola Canada“Dewhurst has written yet another very good book. This book should be required reading for people who are using C++ (and think that they already know everything in C++).”
—Clovis Tondo, coauthor ofC++ Primer Answer BookWhat Every Professional C++ Programmer Needs to Know—Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed C++ is a large, complex language, and learning it is never entirely easy. But some concepts and techniques must be thoroughly mastered if programmers are ever to do professional-quality work. This book cuts through the technical details to reveal what is commonly understood to be absolutely essential. In one slim volume, Steve Dewhurst distills what he and other experienced managers, trainers, and authors have found to be the most critical knowledge required for successful C++ programming. It doesn’t matter where or when you first learned C++. Before you take another step, use this book as your guide to make sure you’ve got it right!
This book is for you if
—Chuck Allison, editor, The C++ Source“Steve taught me C++. This was back in 1982 or 1983, I think—he had just returned from an internship sitting with Bjarne Stroustrup inventor of C++ at Bell Labs. Steve is one of the unsung heroes of the early days, and anything Steve writes is on my A-list of things to read. This book is an easy read and collects a great deal of Steve’s extensive knowledge and experience. It is highly recommended.”
—Stan Lippman, coauthor of C++ Primer, Fourth Edition“I welcome the self-consciously non-Dummies approach of a short, smart book.”
—Matthew P. Johnson, Columbia University“I agree with the author’s assessment of the types of programmers. I have encountered the same types in my experience as a developer and a book like this will go far to help bridge their knowledge gap.... I think this book complements other books, like Effective C++ by Scott Meyers. It presents everything in a concise and easy-to-read style.”
—Moataz Kamel, senior software designer, Motorola Canada“Dewhurst has written yet another very good book. This book should be required reading for people who are using C++ (and think that they already know everything in C++).”
—Clovis Tondo, coauthor ofC++ Primer Answer BookWhat Every Professional C++ Programmer Needs to Know—Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed C++ is a large, complex language, and learning it is never entirely easy. But some concepts and techniques must be thoroughly mastered if programmers are ever to do professional-quality work. This book cuts through the technical details to reveal what is commonly understood to be absolutely essential. In one slim volume, Steve Dewhurst distills what he and other experienced managers, trainers, and authors have found to be the most critical knowledge required for successful C++ programming. It doesn’t matter where or when you first learned C++. Before you take another step, use this book as your guide to make sure you’ve got it right!
This book is for you if
- You’re no “dummy,” and you need to get quickly up to speed in intermediate to advanced C++
- You’ve had some experience in C++ programming, but reading intermediate and advanced C++ books is slow-going
- You’ve had an introductory C++ course, but you’ve found that you still can’t follow your colleagues when they’re describing their C++ designs and code
- You’re an experienced C or Java programmer, but you don’t yet have the experience to develop nuanced C++ code and designs
- You’re a C++ expert, and you’re looking for an alternative to answering the same questions from your less-experienced colleagues over and over again
Cuprins
Preface xi
Acknowledgments xvii
A Note on Typographical Conventions xix
Item 1: Data Abstraction 1
Item 2: Polymorphism 3
Item 3: Design Patterns 7
Item 4: The Standard Template Library 11
Item 5: References Are Aliases, Not Pointers 13
Item 6: Array Formal Arguments 17
Item 7: Const Pointers and Pointers to Const 21
Item 8: Pointers to Pointers 25
Item 9: New Cast Operators 29
Item 10: Meaning of a Const Member Function 33
Item 11: The Compiler Puts Stuff in Classes 37
Item 12: Assignment and Initialization Are Different 41
Item 13: Copy Operations 45
Item 14: Function Pointers 49
Item 15: Pointers to Class Members Are Not Pointers 53
Item 16: Pointers to Member Functions Are Not Pointers 57
Item 17: Dealing with Function and Array Declarators 61
Item 18: Function Objects 63
Item 19: Commands and Hollywood 67
Item 20: STL Function Objects 71
Item 21: Overloading and Overriding Are Different 75
Item 22: Template Method 77
Item 23: Namespaces 81
Item 24: Member Function Lookup 87
Item 25: Argument Dependent Lookup 89
Item 26: Operator Function Lookup 91
Item 27: Capability Queries 93
Item 28: Meaning of Pointer Comparison 97
Item 29: Virtual Constructors and Prototype 99
Item 30: Factory Method 103
Item 31: Covariant Return Types 107
Item 32: Preventing Copying 111
Item 33: Manufacturing Abstract Bases 113
Item 34: Restricting Heap Allocation 117
Item 35: Placement New 119
Item 36: Class-Specific Memory Management 123
Item 37: Array Allocation 127
Item 38: Exception Safety Axioms 131
Item 39: Exception Safe Functions 135
Item 40: RAII 139
Item 41: New, Constructors, and Exceptions 143
Item 42: Smart Pointers 145
Item 43: auto_ptr Is Unusual 147
Item 44: Pointer Arithmetic 149
Item 45: Template Terminology 153
Item 46: Class Template Explicit Specialization 155
Item 47: Template Partial Specialization 161
Item 48: Class Template Member Specialization 165
Item 49: Disambiguating with Typename 169
Item 50: Member Templates 173
Item 51: Disambiguating with Template 179
Item 52: Specializing for Type Information 183
Item 53: Embedded Type Information 189
Item 54: Traits 193
Item 55: Template Template Parameters 199
Item 56: Policies 205
Item 57: Template Argument Deduction 209
Item 58: Overloading Function Templates 213
Item 59: SFINAE 217
Item 60: Generic Algorithms 221
Item 61: You Instantiate What You Use 225
Item 62: Include Guards 229
Item 63: Optional Keywords 231
Bibliography 235
Index 237
Index of Code Examples 245
0321321928T02022005
Acknowledgments xvii
A Note on Typographical Conventions xix
Item 1: Data Abstraction 1
Item 2: Polymorphism 3
Item 3: Design Patterns 7
Item 4: The Standard Template Library 11
Item 5: References Are Aliases, Not Pointers 13
Item 6: Array Formal Arguments 17
Item 7: Const Pointers and Pointers to Const 21
Item 8: Pointers to Pointers 25
Item 9: New Cast Operators 29
Item 10: Meaning of a Const Member Function 33
Item 11: The Compiler Puts Stuff in Classes 37
Item 12: Assignment and Initialization Are Different 41
Item 13: Copy Operations 45
Item 14: Function Pointers 49
Item 15: Pointers to Class Members Are Not Pointers 53
Item 16: Pointers to Member Functions Are Not Pointers 57
Item 17: Dealing with Function and Array Declarators 61
Item 18: Function Objects 63
Item 19: Commands and Hollywood 67
Item 20: STL Function Objects 71
Item 21: Overloading and Overriding Are Different 75
Item 22: Template Method 77
Item 23: Namespaces 81
Item 24: Member Function Lookup 87
Item 25: Argument Dependent Lookup 89
Item 26: Operator Function Lookup 91
Item 27: Capability Queries 93
Item 28: Meaning of Pointer Comparison 97
Item 29: Virtual Constructors and Prototype 99
Item 30: Factory Method 103
Item 31: Covariant Return Types 107
Item 32: Preventing Copying 111
Item 33: Manufacturing Abstract Bases 113
Item 34: Restricting Heap Allocation 117
Item 35: Placement New 119
Item 36: Class-Specific Memory Management 123
Item 37: Array Allocation 127
Item 38: Exception Safety Axioms 131
Item 39: Exception Safe Functions 135
Item 40: RAII 139
Item 41: New, Constructors, and Exceptions 143
Item 42: Smart Pointers 145
Item 43: auto_ptr Is Unusual 147
Item 44: Pointer Arithmetic 149
Item 45: Template Terminology 153
Item 46: Class Template Explicit Specialization 155
Item 47: Template Partial Specialization 161
Item 48: Class Template Member Specialization 165
Item 49: Disambiguating with Typename 169
Item 50: Member Templates 173
Item 51: Disambiguating with Template 179
Item 52: Specializing for Type Information 183
Item 53: Embedded Type Information 189
Item 54: Traits 193
Item 55: Template Template Parameters 199
Item 56: Policies 205
Item 57: Template Argument Deduction 209
Item 58: Overloading Function Templates 213
Item 59: SFINAE 217
Item 60: Generic Algorithms 221
Item 61: You Instantiate What You Use 225
Item 62: Include Guards 229
Item 63: Optional Keywords 231
Bibliography 235
Index 237
Index of Code Examples 245
0321321928T02022005
Notă biografică
Stephen C. Dewhurst was among the first users of C++ at Bell Labs. He has more than twenty years of experience in applying C++ to problem areas such as compiler design, securities trading, e-commerce, and embedded telecommunications. He is the author and coauthor of several books on C++ and is a member of the advisory board for The C++ Source, a contributing editor for C/C++ Users Journal, and a former columnist for C++ Report. He is also the author of two C++ compilers and numerous articles on compiler design and C++ programming techniques.
0321321928AB02022005
0321321928AB02022005
Caracteristici
Distills, in one slim volume, what every intermediate-level C++ programmer needs to know in order to do professional, quality work.
° Addresses a common problem in the real world, where C++ programmers often have an insufficient grasp of essential C++ features, coding techniques, and design
patterns to do production-quality work.
° The programmer's second book on C++, after Lippman's C++ Primer, but before Meyers' Effective C++.
° Rapidly takes the reader from C++ novice to competent C++ practitioner.
° Addresses a common problem in the real world, where C++ programmers often have an insufficient grasp of essential C++ features, coding techniques, and design
patterns to do production-quality work.
° The programmer's second book on C++, after Lippman's C++ Primer, but before Meyers' Effective C++.
° Rapidly takes the reader from C++ novice to competent C++ practitioner.
Textul de pe ultima copertă
"We live in a time when, perhaps surprisingly, the best printed works on C++ are just now emerging. This is one of those works. Although C++ has been at the forefront of innovation and productivity in software development for more than two decades, it is only now being fully understood and utilized. This book is one of those rare contributions that can bear repeated study by practitioners and experts alike. It is not a treatise on the arcane or academic-rather it completes your understanding of things you think you know but will bite you sooner or later until you really learn them. Few people have mastered C++ and software design as well as Steve has; almost no one has such a level head as he when it comes to software development. He knows what you need to know, believe me. When he speaks, I always listen-closely. I invite you to do the same. You (and your customers) will be glad you did."
"-Chuck Allison, editor, " The C++ Source "Steve taught me C++. This was back in 1982 or 1983, I think-he had just returned from an internship sitting with Bjarne Stroustrup inventor of C++ at Bell Labs. Steve is one of the unsung heroes of the early days, and anything Steve writes is on my A-list of things to read. This book is an easy read and collects a great deal of Steve's extensive knowledge and experience. It is highly recommended."
"-Stan Lippman, coauthor of "C++ Primer, Fourth Edition "I welcome the self-consciously non-Dummies approach of a short, smart book."
"-Matthew P. Johnson, Columbia University" "I agree with the author's assessment of the types of programmers. I have encountered the same types in my experience as a developer and a book like this will go far to help bridge their knowledge gap.... I think this book complements other books, like "Effective C++" by Scott Meyers. It presents everything in a concise and easy-to-read style."
"-Moataz Kamel, senior software designer, Motorola Canada" "Dewhurst has written yet another very good book. This book should be required reading for people who are using C++ (and think that they already know everything in C++)."
"-Clovis Tondo, coauthor of" C++ Primer Answer BookWhat Every Professional C++ Programmer Needs to Know-Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed C++ is a large, complex language, and learning it is never entirely easy. But some concepts and techniques must be thoroughly mastered if programmers are ever to do professional-quality work. This book cuts through the technical details to reveal what is commonly understood to be absolutely essential. In one slim volume, Steve Dewhurst distills what he and other experienced managers, trainers, and authors have found to be the most critical knowledge required for successful C++ programming. It doesn't matter where or when you first learned C++. Before you take another step, use this book as your guide to make sure you've got it right! This book is for you if
"-Chuck Allison, editor, " The C++ Source "Steve taught me C++. This was back in 1982 or 1983, I think-he had just returned from an internship sitting with Bjarne Stroustrup inventor of C++ at Bell Labs. Steve is one of the unsung heroes of the early days, and anything Steve writes is on my A-list of things to read. This book is an easy read and collects a great deal of Steve's extensive knowledge and experience. It is highly recommended."
"-Stan Lippman, coauthor of "C++ Primer, Fourth Edition "I welcome the self-consciously non-Dummies approach of a short, smart book."
"-Matthew P. Johnson, Columbia University" "I agree with the author's assessment of the types of programmers. I have encountered the same types in my experience as a developer and a book like this will go far to help bridge their knowledge gap.... I think this book complements other books, like "Effective C++" by Scott Meyers. It presents everything in a concise and easy-to-read style."
"-Moataz Kamel, senior software designer, Motorola Canada" "Dewhurst has written yet another very good book. This book should be required reading for people who are using C++ (and think that they already know everything in C++)."
"-Clovis Tondo, coauthor of" C++ Primer Answer BookWhat Every Professional C++ Programmer Needs to Know-Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed C++ is a large, complex language, and learning it is never entirely easy. But some concepts and techniques must be thoroughly mastered if programmers are ever to do professional-quality work. This book cuts through the technical details to reveal what is commonly understood to be absolutely essential. In one slim volume, Steve Dewhurst distills what he and other experienced managers, trainers, and authors have found to be the most critical knowledge required for successful C++ programming. It doesn't matter where or when you first learned C++. Before you take another step, use this book as your guide to make sure you've got it right! This book is for you if
- You're no "dummy," and you need to get quickly up to speed in intermediate to advanced C++
- You've had some experience in C++ programming, but reading intermediate and advanced C++ books is slow-going
- You've had an introductory C++ course, but you've found that you still can't follow your colleagues when they're describing their C++ designs and code
- You're an experienced C or Java programmer, but you don't yet have the experience to develop nuanced C++ code and designs
- You're a C++ expert, and you're looking for an alternative to answering the same questions from your less-experienced colleagues over and over again