摘要:
1、按值传递对象2、函数返回对象3、复制初始化,即用一个对象初始化另一个对象#include <iostream>using namespace std;class A{public: A() { cout << "constructor" << endl; } A(const A& a) { cout << "copy constructor" << endl; } ~A() { cout << "destructor" << endl; } 阅读全文
摘要:
malloc/free带的来问题很简单:它们对构造函数和析构函数一无所知。——〈Effective C++〉new/delete会与构造函数和析构函数有适当的互动,这样可以保证动态创建对象和释放对象的正确性。不要将malloc/free和new/delete混用,必须一一对应。使用了malloc的必须使用free来释放,而使用new的必须使用delete来释放,否则会出现不可预料的问题,其结果是所谓的“未定义”:在开发和测试阶段都没问题,但会在你最重要的客户面前爆发。 阅读全文