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

// 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;
}