Difference between call by value and call by reference in C++
Call by value | Call by reference |
---|---|
A copy of the value is passed to the function | An address of value is passed to the function |
Changes made inside the function are not reflected on other functions |
Changes made inside the function are reflected outside the function as well |
Actual and formal arguments will be created at different memory location |
Actual and formal arguments will be created at same memory location. |
Functions in C++
A function is a set of statements that takes input, does some specific computation, and produces output. The idea is to put some commonly or repeatedly done tasks together to make a function so that instead of writing the same code again and again for different inputs, we can call this function.
In simple terms, a function is a block of code that runs only when it is called.
Syntax:
Example:
C++
// C++ Program to demonstrate working of a function #include <iostream> using namespace std; // Following function that takes two parameters 'x' and 'y' // as input and returns max of two input numbers int max( int x, int y) { if (x > y) return x; else return y; } // main function that doesn't receive any parameter and // returns integer int main() { int a = 10, b = 20; // Calling above function to find max of 'a' and 'b' int m = max(a, b); cout << "m is " << m; return 0; } |
Output
m is 20
Time complexity: O(1)
Space complexity: O(1)