I was reviewing some material over pointers in a book called C++ Primer 4th Edition and it said there were four possible values that you can set to a pointer.
- A constant expression with a value of 0
- An address of an object of an appropriate type
- The address one past the end of another object
- Another valid pointer of the same type
I am not sure exactly what is meant by the third type. Is past a typo that should be passed?
From what I understand this is what is meant by the other three types
const int c_ival = 0;
int *pNum1 = c_ival;
int ival = 1;
int *pNum2 = &ival;
int *pNum3 = pNum2;
Any help would be appreciated thanks.