Pointer Reference Increment

#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 *p)
{
    if(p!=nullptr)
    {
        return ++(*p);
    }
    else
    {
       return *p;
    }
}
int incrementRef(int &d)
{
    return ++d;
}



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

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

5

Expected Output

After incrementPtr: 6 After incrementRef: 6