#include <iostream>
int main()
{
int value = 42;
int *p_int = &value;
std::cout << "p_int points to " << *p_int << std::endl; // 42
int arr[] = {100, 101, 102};
p_int = &2[arr];
std::cout << "p_int points to " << *p_int << std::endl; // 102
p_int = &arr[1];
std::cout << "p_int points to " << *p_int << std::endl; // 101
++p_int;
std::cout << "p_int points to " << *p_int << std::endl; // 102
++p_int;
std::cout << "p_int points to " << *p_int << std::endl; // (OUT OF BOUNDS - UNDEFINED BEHAVIOR!)
}