Book Image

The C++ Workshop

By : Dale Green, Kurt Guntheroth, Shaun Ross Mitchell
Book Image

The C++ Workshop

By: Dale Green, Kurt Guntheroth, Shaun Ross Mitchell

Overview of this book

C++ is the backbone of many games, GUI-based applications, and operating systems. Learning C++ effectively is more than a matter of simply reading through theory, as the real challenge is understanding the fundamentals in depth and being able to use them in the real world. If you're looking to learn C++ programming efficiently, this Workshop is a comprehensive guide that covers all the core features of C++ and how to apply them. It will help you take the next big step toward writing efficient, reliable C++ programs. The C++ Workshop begins by explaining the basic structure of a C++ application, showing you how to write and run your first program to understand data types, operators, variables and the flow of control structures. You'll also see how to make smarter decisions when it comes to using storage space by declaring dynamic variables during program runtime. Moving ahead, you'll use object-oriented programming (OOP) techniques such as inheritance, polymorphism, and class hierarchies to make your code structure organized and efficient. Finally, you'll use the C++ standard library?s built-in functions and templates to speed up different programming tasks. By the end of this C++ book, you will have the knowledge and skills to confidently tackle your own ambitious projects and advance your career as a C++ developer.
Table of Contents (15 chapters)

Introduction

All the basic kinds of variables, arrays, and structs introduced so far have a fixed size that is known at compile time. Fixed-size variables have many advantages; they can be laid end to end to use memory efficiently. Compiled machine code can access fixed-size variables very quickly, but fixed-size variables have a weakness. There is no way to hold an arbitrarily large data structure in fixed-sized variables. The developer must anticipate the largest problem a program will be asked to solve. Memory is wasted when a program solves a smaller problem, and a program will fail when it tries to exceed its capacity.

Imagine, for example, that a developer wants to store all the words in a book but can only make use of fixed-size variables. They could declare a two-dimensional array of char to hold the words, but how big should the array be?

The average book has between 75,000 and 100,000 words. The developer could pick the worst-case size of 100,000 words which would...