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)

Memory Addresses

The memory of a computer can be modeled as a very long array of bytes. Each byte has an address that has the same role as an array subscript. Every variable has an address that is the first of perhaps several byte addresses at which the bits of the variable are stored. Normal variables are known by a name that the compiler translates into an address. The following diagram shows a region of memory as a long tape extending from left to right. The hexadecimal numbers above the tape are memory addresses. For simplicity, we have only shown every fourth byte address:

Figure 5.1: Visualizing computer memory as a long array of bytes

The bytes of memory have no fixed meaning until the program declares a variable. In the diagram, the program has declared an int variable named i, and initialized it to the integer value 12345. The compiler reserves 4 bytes of storage for the int variable, which defines this particular storage to hold an integer value...