Pointers
pointer variables contain memory addresses as their values
They themselves do not contain any value, but the location of where the value is in memory
Variable name directly references a value but a pointer indirectly references a value
Referencing a value through a pointer is called indirection
Declaring Pointers
Initializing Pointers
Pointers should be initialized to nullptr or to a memory address when declared or in assignment
A pointer of value nullptr points to nothing and is called a "null pointer"
You should initialize all pointers to prevent pointing to an unknown or uninitialized area of memory
Pointer Operators
Can be used to create pointer values(&) and dereference pointers(*).
Address Operator -> &
The address operator is a unary operator
It obtains the memory address of its operand
Indirection Operator -> *
also refered to as the dereferencing operator
returns an Ivalue representing the object that its pointer operand points to