摘要: 看到上面的关键字有什么感想啊。他们都有相同的功能,区别在那里呢? (网络上找来的一些)
(1)new是操作符,同+、-、*、/有着相同的地位,它是保留字,不用头文件的支持,创建的是一个对象;建立的对象你可以把它当成一个普通的对象,用成员函数访问,不要直接访问它的地址空间;
使用形式:
new返回的是指针(指向new出来的那个对象)。
失败返回异常
(2)malloc是个分配内存的函数,需要头文件的支持,分配的是一块内存区域,就用指针访问好了,而且还可以在里面移动指针。
使用形式:
(指针类型)malloc(sizeof())
失败返回NULL指针
(3)malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。
(4)对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在
阅读全文