Book Image

Advanced C++

By : Gazihan Alankus, Olena Lizina, Rakesh Mane, Vivek Nagarajan, Brian Price
5 (1)
Book Image

Advanced C++

5 (1)
By: Gazihan Alankus, Olena Lizina, Rakesh Mane, Vivek Nagarajan, Brian Price

Overview of this book

C++ is one of the most widely used programming languages and is applied in a variety of domains, right from gaming to graphical user interface (GUI) programming and even operating systems. If you're looking to expand your career opportunities, mastering the advanced features of C++ is key. The book begins with advanced C++ concepts by helping you decipher the sophisticated C++ type system and understand how various stages of compilation convert source code to object code. You'll then learn how to recognize the tools that need to be used in order to control the flow of execution, capture data, and pass data around. By creating small models, you'll even discover how to use advanced lambdas and captures and express common API design patterns in C++. As you cover later chapters, you'll explore ways to optimize your code by learning about memory alignment, cache access, and the time a program takes to run. The concluding chapter will help you to maximize performance by understanding modern CPU branch prediction and how to make your code cache-friendly. By the end of this book, you'll have developed programming skills that will set you apart from other C++ programmers.
Table of Contents (11 chapters)
7
6. Streams and I/O

C++ Types

As a strongly and, statically typed language, C++ provides several fundamental types and the ability to define their own types with as much or as little functionality as needed to solve the problem at hand. This section will start by introducing the fundamental types, initializing them, declaring a variable, and associating a type with it. We will then explore how to declare and define a new type.

C++ Fundamental Types

C++ includes several fundamental types, or built-in types. The C++ standard defines the minimum size in memory for each type and their relative sizes. The compiler recognizes these fundamental types and has built-in rules that define what operations can and cannot be performed on them. There are also rules for implicit conversions between types; for example, conversion from an int type to a float type.

Note

See the Fundamental Types section at https://en.cppreference.com/w/cpp/language/types for a brief description of all the built-in types.

C++ Literals

C++ literals are...