📖
C++
  • 1. C++ Basics
    • 1.1 Input, Output, and Program Structure
      • 1.1.1 Welcome to Data Structures in C++
      • 1.1.2 Hello World
      • 1.1.3 Input and Output
      • 1.1.4 getline and cin
      • 1.1.5 Program Structure
    • 1.2 Basic Data Types
      • 1.2.1 Basic Data Types
        • 1.2.1.1 Differences between C++ and Java Data Types and Variables
      • 1.2.2 Strings and Characters
      • 1.2.3 Numbers
      • 1.2.4 Booleans
    • 1.3 Conditional Statements
      • 1.3.1 Conditional Statements
      • 1.3.2 Basic If/Else Statements
      • 1.3.3 Comparing Strings
      • 1.3.4 Logical Operators
    • 1.4 Loops
      • 1.4.1 Loops
      • 1.4.2 For Loops
      • 1.4.3 While Loops
      • 1.4.4 Searching a String
    • 1.5 Functions in C++
      • 1.5.1 Functions in C++
      • 1.5.2 Defining and Calling Functions
      • 1.5.3 Passing by Reference vs Value
      • 1.5.4 Function Prototypes
  • 2. Going Beyond the Basics
    • 2.1 Vector Basics
      • 2.1.1 Vector Basics
      • 2.1.2 Creating and Accessing Vectors
      • 2.1.3 Inserting into a Vector
      • 2.1.4 Looping Through a Vector
    • 2.2 Function Default Values
      • 2.2.1 Function Default Values
      • 2.2.2 Default Values
      • 2.2.3 Default Values with a Prototype
      • 2.2.4 Example: Splitting a String
    • 2.3 Structs
      • 2.3.1 Structs
      • 2.3.2 Defining and Accessing Structs
      • 2.3.3 Using Structs: Line Length
    • 2.4 File Input/Output
      • 2.4.1 File Input/Output
      • 2.4.2 Reading in a File
      • 2.4.3 Processing a File
      • 2.4.4 Writing to a File
      • 2.4.5 Creating an Input Stream from a String
    • 2.5 Error Handling
      • 2.5.1 Error Handling
      • 2.5.2 Validating a Number
      • 2.5.3 Validating a Vector Index
      • 2.5.4 Throwing Other Values
  • 3. Libraries
    • 3.1 Header Files
      • 3.1.1 Header Files
      • 3.1.2 Header File
      • 3.1.3 Header and Implementation File
      • 3.1.4 Safer Header
    • 3.2 Using Libraries
      • 3.2.1 Using a Utilities Library
      • 3.2.2 The Util Library
  • 4. 2D Vectors, Stacks, and Queues
    • 4.1 2D Vectors
      • 4.1.1 2D Vectors
      • 4.1.2 The 2D Vector
      • 4.1.3 Creating a 2D Vector
    • 4.3 Stacks
      • 4.3.1 Stacks
      • 4.3.2 Basic Stack
      • 4.3.3 Stack Example: Reverse a String
    • 4.5 Queues
      • 4.5.1 Queues
      • 4.5.2 Basic Queues
      • 4.5.3 Queue Example: Next in Line
  • 5. Sets and Maps
    • 5.1 Pairs and Iterators
      • 5.1.1 Pairs and Iterators
      • 5.1.2 Pairs
      • 5.1.3 Iterators
    • 5.3 Sets
      • 5.3.1 Sets
      • 5.3.2 Basic Sets
      • 5.3.3 Iterating Through a Set
      • 5.3.4 Sets of Struct Values
    • 5.4 Maps
      • 5.4.1 Maps
      • 5.4.2 Map Basics
      • 5.4.3 Iterating Through a Map
      • 5.4.4 Updating Maps
  • 6. Recursion
    • 6.1 Functional Recursion
      • 6.1.1 Functional Recursion
      • 6.1.2 Basic Recursive Problem: Exponential
      • 6.1.3 Recursion Example: Reverse String
      • 6.1.4 Recursion Example: Make Sum
    • 6.2 Procedural Recursion
      • 6.2.1 Procedural Recursion
      • 6.2.2 Print Binary
      • 6.2.3 Print Permutations
      • 6.2.4 Depth vs Breadth Search
  • 7. Pointers, Linked Lists, and Graphs
    • 7.1 Pointers
      • 7.1.1 Pointers
      • 7.1.2 Assigning and Updating Pointers
      • 7.1.3 Pointers and Functions
      • 7.1.4 Pointers and Data Structures
    • 7.2 Linked Lists
      • 7.2.1 Linked Lists
      • 7.2.2 Basic Linked List
      • 7.2.3 Linked List and Recursion
      • 7.2.4 Example: Sorted Phone Book
      • 7.2.5 Doubly Linked List
    • 7.3 Graphs
      • 7.3.1 Graphs
      • 7.3.2 Basic Example: Breadth First Search
      • 7.3.3 Application: Connecting Cities
Powered by GitBook
On this page
  • Declaring and Initializing Numbers
  • A Word of Caution
  • Math with Integers and Doubles
  • Casting Numbers in C++
  • Casting To and From String
  • Try This Example
  1. 1. C++ Basics
  2. 1.2 Basic Data Types

1.2.3 Numbers

Like other languages, C++ has several different variable types for numbers. In this course, you will use two basic types, integer (int) to represent whole numbers and doubles (double) to represent decimal numbers.

Declaring and Initializing Numbers

Like Java, you can declare and initialize in one step, or declare and initialize later.

int num1 = 10;

double num2;
num2 = 11.5;

C++ allows you to declare and assign multiple values at once.

int num3, num4;
num3 = num4 = 15;

A Word of Caution

C++ as a language has fewer checks compared to Java or other languages. As you saw with accessing a string index that did not exist, C++ will also allow you to access a variable that has not been initialized. Other languages such as Java will throw an error if you try to access a variable before it has been initialized, but this is not the case in C++. When a variable is declared, a memory location is associated with that variable. If you access that variable before initializing it, you will get the last value stored in that memory location, which will not have any meaning to you.

Math with Integers and Doubles

Math operations work exactly the same as Java. A calculation with two integers results in a truncated integer:

  • Example: 15 / 10 → 1

A calculation with at least 1 double results in a double

  • Example: 15.0 / 10 → 1.5

Casting Numbers in C++

Casting numbers work exactly the same as Java. To cast a value, you include the type that you want to cast to inside of parentheses. When a value is cast, it creates a temporary version of the value in the new format, but does not change the original value.

int i = 5;
double d = (double) i;
int i2 = (int) d;

Casting To and From String

Casting strings to numbers uses a series of sto commands. The two most common that you will use are listed here:

  • stoi(num) - converts string to int

  • stod(num) - converts string to double

C++ doesn’t allow implicit conversion from a number to a string. In order to use a number as a string, the to_string function needs to be explicitly called.

For example, if you want to concatenate a string and a number, you would do it like this:

int limit = 65;
string sign = "Speed Limit: " + to_string(limit);

Try This Example

Previous1.2.2 Strings and CharactersNext1.2.4 Booleans

Last updated 1 year ago

GDB online Debugger | Code, Compile, Run, Debug online C, C++GDB online Debugger
Numbers
Logo