int main() { A a("my name is a"); A b = a; // vad är skillnaden A c(a); // mellan dessa A d; // tre tekniker d = a; A *aa = new A[5]; delete [] aa ; // Vad kommer att hända ? no_ref(a); // Bildas temporära objekt ? with_ref(a); // Bildas temporära objekt ? return 0; }
int main() { std::cout << " ==== main ==== \n"; A a("my name is a"); std::cout << "\t\t &a=" << &a << "\n"; A b = a; // vad e skillnaden A c(a); // mellan dessa A d; // tre tekniker? d = a; std::cout << "\t\t Call no_ref(" << &a << ") =>" << std::endl; no_ref(a); // Bildas temporära objekt? std::cout << "\t\t Call no_ref(" << &a << ") => ok" << std::endl; with_ref(a); // Bildas temporära objekt? A *aa = new A[5]; delete aa; // Vad kommer att hända? std::cout << " ==== main ==== END \n"; return 0; }
int main() { DEBUG("1. constructor with arg"); A a("my name is a"); DEBUG("2. assignment to new variable"); A b = a; // vad är skillnaden DEBUG("3. copy construction"); A c(a); // mellan dessa DEBUG("4. uninitialized variable"); A d; // tre tekniker? DEBUG("5. assignment to variable"); d = a; DEBUG("--------"); DEBUG("6. call by value"); no_ref(a); // Bildas temporära objekt? DEBUG("7. call by reference"); with_ref(a); // Bildas temporära objekt? DEBUG("---------"); DEBUG("8. Allocate vector, put in A*"); A *aa = new A[5]; DEBUG("9. Free A* that points to A[]"); delete aa; // Vad kommer att hända? DEBUG("done!"); return 0; }