#include<iostream>
using namespace std;
int main()
{
int x=7;
int *p=&x;
int *p1=&++x;
int *p2=&x++;
int *p3=&(++x);
int *p4=&(x++);
cout<<p<<endl<<p1<<endl<<p2<<endl<<p3<<endl<<p4<<endl<<*p<<endl<<*p++<<endl<<*++p<<endl<<*(p++)<<endl<<*(++p)<<endl;
return 0;
}
p2 and p4 return error. Also, can you please explain the dereferencing of all the increments of the pointer, p, that I print in the cout statement?