EBooks » C++ & CPP
In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. This book introduces the concept of generic components–reusable design templates that produce boilerplate code for compiler consumption–all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include:
  • Policy-based design for flexibility
  • Partial template specialization
  • Typelists–powerful type manipulation structures
  • Patterns such as Visitor, Singleton, Command, and Factories
  • Multi-method engines
C++, although a marvelous language, isn't perfect. Matthew Wilson has been working with it for over a decade, and during that time he has found inherent limitations that require skillful workarounds. In this book, he doesn't just tell you what's wrong with C++, but offers practical techniques and tools for writing code that's more robust, flexible, efficient, and maintainable. He shows you how to tame C++'s complexity, cut through its vast array of paradigms, take back control over your code—and get far better results. If you're a long-time C++ developer, this book will help you see your programming challenges in new ways—and illuminate powerful techniques you may never have tried. If you're newer to C++, you'll learn principles that will make you more effective in all of your projects. Along the way, you'll learn how to:
  • Overcome deficiencies in C++'s type system
  • Enforce software design through constraints, contracts, and assertions
  • Handle behavior ignored by the standard— including issues related to dynamic libraries, static objects, and threading
  • Achieve binary compatibility between dynamically loading components
  • Understand the costs and disadvantages of implicit conversions—and the alternatives
  • Increase compatibility with diverse compilers, libraries, and operating environments
  • Help your compiler detect more errors and work more effectively
  • Understand the aspects of style that impact reliability
  • Apply the Resource Acquisition Is Initialization mechanism to a wide variety of problem domains
  • Manage the sometimes arcane relationship between arrays and pointers
  • Use template programming to improve flexibility and robustness
  • Extend C++: including fast string concatenation, a true NULL-pointer, flexible memory buffers, Properties, multidimensional arrays, and Ranges
Learning C++ is an adventure of discovery, particularly because the language accommodates several programming paradigms, including object-oriented programming, generic programming, and the traditional procedural programming. C++ was a moving target as the language added new features, but now, with the ISO/ANSI C++ Standard, Second Edition (2003), in place, the language has stabilized. Contemporary compilers support most or all of the features mandated by the standard, and programmers have had time to get used to applying these features. The fifth edition of this book, C++ Primer Plus, reflects the ISO/ANSI standard and describes this matured version of C++. C++ Primer Plus discusses the basic C language and presents C++ features, making this book self-contained. It presents C++ fundamentals and illustrates them with short, to-the-point programs that are easy to copy and experiment with. You'll learn about input/output (I/O), how to make programs perform repetitive tasks and make choices, the many ways to handle data, and how to use functions. You'll learn about the many features C++ has added to C, including the following:
  • Classes and objects
  • Inheritance
  • Polymorphism, virtual functions, and runtime type identification (RTTI)
  • Function overloading
  • Reference variables
  • Generic, or type-independent, programming, as provided by templates and the Standard Template Library (STL)
  • The exception mechanism for handling error conditions
  • Namespaces for managing names of functions, classes, and variables
Learn-Borland-C++-Builder
Overview
Introduction xii
Week 1 at a Glance 1
Day 1 Getting Your Feet Wet 3
2 Wading In Deeper 39
3 Up to Your Neck in C++ 67
4 Totally Immersed: C++ Classes and Object-Oriented Programming 95
5 C++ Class Frameworks and the Visual Component Model 131
6 The C++Builder IDE Explored: Projects and Forms 167
7 Working with the Form Designer and the Menu Designer 217
Week 1 in Review 265
Week 2 at a Glance 269
Day 8 VCL Components 271
9 Creating Applications in C++Builder 317
10 More on Projects 353
11 Using the Debugger 393
12 C++Builder Database Architecture 427
13 Building Internet Applications 473
14 C++Builder Extensions to C++ 487
Week 2 in Review 499
Appendix
A Answers to Quiz Questions 501
Index 509

Teach Yourself Borland C++ 4 in 21 Days

Week 1 at a Glance 1
Day 1 Getting Started 3
2 C++ Program Components 53
3 Operators and Expressions 83
4 Managing I/O 117
5 The Decision-Making Constructs 131
6 Loops 153
7 Arrays 175
Week 1 in Review 213
Week 2 at a Glance 217
Day 8 User-Defined Types and Pointers 219
9 Strings 253
10 Advanced Function Parameters 285
11 Object-Oriented Programming and C++ Classes 319
12 Basic Stream File I/O 357
13 The C++ string Class 391
14 Programming Windows with OWL 2.0 419
Week 2 in Review 447
Week 3 at a Glance 451
Day 15 Basic Windows 453
16 OWL Controls 473
17 Grouped Controls 505
18 List Box Controls 521
19 Scroll Bars and Combo Boxes 553
20 Dialog Boxes 581
21 MDI Windows 601
Week 3 in Review 63
Extra Credit Bonus Section
Bonus 1 Debugging 633
2 Visual Programming 649
3 Using the Application Expert 715
4 Generating MDI Applications with AppExpert 769
5 Using the ClassExpert 817
6 Common Dialog Boxes 865
Appendix
Appendix A Answers 913
Index 949
A handbook for delivering high-performance Windows applications using Win32 GDI and Direct Draw. Completely demystifies the creation of Windows graphics.
From the Back Cover
The world's most complete guide to Windows graphics programming!
Win32 GDI and DirectDraw: Accurate, under the hood, and in depth
Beyond the API: Internals, restrictions, performance, and real-life problems
Complete: Pixel, lines, curves, filled area, bitmap, image processing, fonts, text, metafile, printing, and more
Up to date: Windows 2000 and Windows 98 graphics enhancements
Hewlett-Packard Professional Books

To deliver high-performance Windows applications, you need an in-depth understanding of the Win32 GDI and DirectDraw—but until now, it's been virtually impossible to discover what's going on "behind" Microsoft's API calls. This book rips away the veil, giving experienced Windows programmers all the information and techniques they need to maximize performance, efficiency, and reliability! You'll discover how to make the most of Microsoft's Windows graphics APIs—including the important new graphics capabilities built into Windows 2000.
 
Username:
Password:
 
Sign Up | Lost Password
 
 

Execution time : 0.0093080997467