#include <iostream>
// Define incrementPtr(int* x)
// Increment the value pointed to by x
// Do nothing if x is nullptr
// Define incrementRef(int& x)
// Increment the referenced value
int* incrementPtr(int* x) {
if (x == nullptr) {
return x; // return null
}
else {
(*x)++; // increment the pointed-to value
return x; // return same pointer
}
}
int incrementRef(int& x) {
x++;
return x;
}
int main() {
int n;
std::cin >> n;
int a = n;
incrementPtr(&a);
std::cout << "After incrementPtr: " << a << "\n";
int b = n;
incrementRef(b);
std::cout << "After incrementRef: " << b;
return 0;
}