1. malloc/free是C语言中的标准库函数, new/delete是C++中的运算符.
2. 若动态创建的对象是类类型, 用new时, 自动调用该对象的默认构造函数:
class Test
{
public:
Test() {}
~Test() {}
};
int main()
{
Test *t = new Test();
/* do something */
delete t;
return 0;
}
用malloc的代码如下:
Test *t = (Test *) malloc(sizeof(Test));
/* do something */
free(t);
参考:
1. http://apps.hi.baidu.com/share/detail/2945055
2. VS2010 MSDN