Wednesday, 23 January 2019

When are temporary variables created by C++ compiler

When are temporary variables created by C++ compiler?

Answer:

Provided that function parameter is a "const reference", compiler generates temporary variable in following 2 ways.
a)
The actual argument is the correct type, but it isn't Lvalue
double Cube(const double & num) {
num = num * num * num; return num;
} double temp = 2.0;
double value = cube(3.0 + temp); // argument is a expression and not a Lvalue;
b)
The actual argument is of the wrong type, but of a type that can be converted to the correct type

long temp = 3L; double value = cuberoot ( temp); // long to double conversion

No comments:

Post a Comment