您的位置:首页 > 其它

malloc/free与new/delete的区别

2011-10-22 00:23 281 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: