const
objectconst
is a keyword used for variable values that will remain the same. This means that const
tells the compiler to prevent modifying such variable values. The const
variable is declared as:
const int val = 5;
An object of the class can also be constant. To demonstrate this, we will declare a constant variable lecture
of the class type Time
. In the following example, 9
is for hours and 15
is for the minutes variable:
const Time lecture(9,15);
Return by value means when the function’s return statement is executed, the compiler copies the value and sends it to the caller.
However, in return by reference, the compiler sends the address of the variable. It implies that we can change the original value by using the return value, which is not possible to return in the value case.
#include <iostream>using namespace std;const int mval(){return 1;}int main() {// your code goes herecout << mval;return 0;}
const
object by valueWhen the function’s return statement is executed, the compiler copies the object and sends it to the caller.
In the code example below, when the main
function calls the foo
function, it returns the constant object of test
by value:
#include <iostream>using namespace std;class test{public:int id;//Default Constructortest(){cout << "Default Constructor called" << endl;id=5;}};const test foo(){cout<<"foo returning constant object\n";const test t1;cout << "test id is: " <<t1.id << endl;return t1;}int main() {foo();return 0;}
const
object by valueconst
is most helpful when we need to share the code, but we want to avoid any accidental modifications to the value of an object.
const
?When the function is executed, it returns the copy of the constant object. Therefore, in cases where we need to alter the object’s value later, we should avoid using const
.
Free Resources