#include <iostream>  // cout, endl
#include <cstdlib>   // EXIT_SUCCESS

void foo(int& x, int* y, int z) {
  z = *y;
  x += 2;
  y = &x;
}

int main(int argc, char** argv) {
  int a = 1;
  int b = 2;
  int& c = a;

  foo(a, &b, c);
  std::cout << "(" << a << "," << b << "," << c << ")" << std::endl;

  return EXIT_SUCCESS;
}