Hello everyone,
Why Visual Studio compiler can not optimize in this case? I think this case is almost the same as sample 1, why compiler can optimize sample 1 but can not optimze sample 2?
(sample 2, http://msdn2.microsoft.com/en-us/lib...57(vs.80).aspx)
Code:#include <stdio.h> class A { public: A() {printf ("A: I am in constructor\n");i = 1;} ~A() { printf ("A: I am in destructor\n"); i = 0;} A(const A& a) {printf ("A: I am in copy constructor\n"); i = a.i;} int i, x, w; }; class B { public: A a; B() { printf ("B: I am in constructor\n");} ~B() { printf ("B: I am in destructor\n");} B(const B& b) { printf ("B: I am in copy constructor\n");} }; A MyMethod() { B* b = new B(); A a = b->a; delete b; return (a); } int main() { A a; a = MyMethod(); }
thanks in advance,
George