Do I understand pointers correctly?

This is a discussion on Do I understand pointers correctly? within the C++ Programming forums, part of the General Programming Boards category; Ok, I'm trying to see if I understand points correctly. Here is how I understand them:
1) Pointers act as ...

Do I understand pointers correctly?

Ok, I'm trying to see if I understand points correctly. Here is how I understand them:

1) Pointers act as a variable that points to the memory adress of another variable:

Code:

int a = 10;
int *b= &a;

2) When dereferenced, you can output the value of the variable the pointer references:

Code:

std::cout<<*b<<endl;
OUTPUT: 10

3) When not dereferenced, you can output the memory adress of the variable the point references. Which can later be used to read the memory of a variable from another application (such as in a minesweeper cheat):

Code:

std::cout<<b<<endl;
OUTPUT: *bunch of hex*

4) Pointers can be used to pass by reference, so that a variable can be modified by a function without having to return it - allowing for the modification of multiple variable within a function: