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)

Storage Lifetime

So far, in the applications and code we've been writing, we've been declaring all our variables in our main function. Since all our other code lives in this function also, we've had full access to all those variables. When we start to build bigger applications, however, and start making use of functions and classes, we need to understand scope and storage lifetime.

Object lifetime refers to how long an object is valid and accessible to us. With most of our variables having been declared in our main function so far, their lifetime has matched that of the application we've been writing, and there's nothing to worry about. Anytime we've wanted to use that variable, it's been there and valid as we're working within the same scope. Scope refers to a section of code that denotes the lifetime of objects declared within it, so we can see how these terms are related.

We use curly brackets to denote scope, be that in a function...