- #include <iostream> 
-   
- struct Foo 
- { 
-     explicit Foo(int i) : i_(i) {std::cout << "Foo constructor " << i_ << std::endl;} 
-     Foo(const Foo& rhs) : i_(rhs.i_) 
-     { 
-         std::cout << "Foo copy constructor" << i_ << std::endl; 
-     } 
-     Foo& operator=(const Foo& rhs) 
-     { 
-         i_ = rhs.i_; 
-         std::cout << "Foo copy assignment" << i_ << std::endl; 
-     } 
-     ~Foo() { std::cout << "Foo destructor " << i_ << std::endl;} 
-     int i_; 
- }; 
-   
- int main() 
- { 
-   
-     { 
-         Foo f1 = *new Foo(1); 
-         Foo f2(2); 
-     } 
-     std::cout << "Bye" << std::endl; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEZvbwp7CiAgICBleHBsaWNpdCBGb28oaW50IGkpIDogaV8oaSkge3N0ZDo6Y291dCA8PCAiRm9vIGNvbnN0cnVjdG9yICIgPDwgaV8gPDwgc3RkOjplbmRsO30KICAgIEZvbyhjb25zdCBGb28mIHJocykgOiBpXyhyaHMuaV8pCiAgICB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJGb28gY29weSBjb25zdHJ1Y3RvciIgPDwgaV8gPDwgc3RkOjplbmRsOwogICAgfQogICAgRm9vJiBvcGVyYXRvcj0oY29uc3QgRm9vJiByaHMpCiAgICB7CiAgICAgICAgaV8gPSByaHMuaV87CiAgICAgICAgc3RkOjpjb3V0IDw8ICJGb28gY29weSBhc3NpZ25tZW50IiA8PCBpXyA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgICB+Rm9vKCkgeyBzdGQ6OmNvdXQgPDwgIkZvbyBkZXN0cnVjdG9yICIgPDwgaV8gPDwgc3RkOjplbmRsO30KICAgIGludCBpXzsKfTsKCmludCBtYWluKCkKewoKICAgIHsKICAgICAgICBGb28gZjEgPSAqbmV3IEZvbygxKTsKICAgICAgICBGb28gZjIoMik7CiAgICB9CiAgICBzdGQ6OmNvdXQgPDwgIkJ5ZSIgPDwgc3RkOjplbmRsOwp9