In C, it is not possible to have function names on the left side of an expression, but it’s possible in C++.
How can we use the function on the left side of an expression in C++?
In C++, only the functions which return some reference variables can be used on the left side of an expression. The reference works in a similar way to pointers, so whenever a function returns a reference, an implicit pointer is being returned to its return value. Therefore, through this, we can use a function on the left side of an assignment statement. The above has been demonstrated using the example given below,
// CPP program to demonstrate using a function on left side // of an expression in C++ #include <iostream> using namespace std;
// such a function will not be safe if x is non static // variable of it int & fun()
{ static int x;
return x;
} // Driver Code int main()
{ fun() = 10;
// this line prints 10 as output
printf ( " %d " , fun());
getchar ();
return 0;
} |
10
Time Complexity : O(1)
Auxiliary Space: O(1)