#include <memory>   // for std::shared_ptr
#include <cstdlib>  // for EXIT_SUCCESS

// We want two pointers!
int main(int argc, char** argv) {
  std::shared_ptr<int> x(new int(5));
  *x += 3;
  std::shared_ptr<int> y = x;
  return EXIT_SUCCESS;
}