copy elision

In copy elision, the compiler prevents the making of extra copies which results in code more optimized.  
```
#include <iostream>
using namespace std;
   
class B {
public:    
    B(const char* str = "\0") {
        cout << "Constructor called" << endl;
    }    
    B(const B &b)  {
        cout << "Copy constructor called" << endl;
    } 
};
   
B getB() {
    return B("copy me");
}
   
int main()
{ 
    B b = getB(); // Constructor called
    return 0;
}
```