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)

Dynamic Variables

Global variables are laid out end to end in a single block of memory allocated when the program starts up. There is thus no runtime cost to declare a global variable, but all global variables continue to take up storage for the entire life of the program, even if they are not used.

Variables that are local to functions or other block scopes delimited by { and } are laid out end to end on top of a stack of local variables. The cost of allocating memory for local variables is negligible. When execution leaves the block, the storage for the local variables in that block is popped off the top of the stack. This storage is efficiently reused the next time execution enters a block scope.

Dynamic variables are constructed by an executable statement rather than being declared like other kinds of variables. The storage for each dynamic variable is allocated separately from a region of memory called the heap. Dynamic variables are not automatically destroyed when execution...