new delete malloc free
来源:互联网 发布:淘宝评价心级 编辑:程序博客网 时间:2024/05/21 07:46
最近看了本书,effictive c++,里面讲了new ,说delete 数组的时候一定要加[],说不加编译器就不知道这是个数组
感觉有点莫名其妙
malloc free这一套c函数,为啥就没有free []的用法呢?暂时理解不了,等以后有时间再来看
写了段小代码
char *p = new char[12];
strcpy(p,"hello");
delete []p;
p = (char *)malloc(12);
strcpy(p,"hello2");
free(p);
ida后发现
void *__cdecl malloc(size_t Size)
{
return (void *)_nh_malloc(Size, dword_4084D8);
}
int __cdecl operator new(unsigned int a1)
{
return _nh_malloc(a1, 1);
}
delete
void __cdecl sub_40118B(int lpMem)
{
sub_401070(lpMem);
}
free
sub_401070((int)v5);
可见最起码在内置类型上,delete就是调用free,自然也不应该存在[]一定要加的理由了
因此可以说在内置类型上,delete []和delete效果相同,编译出的二进制代码完全相同也证明了这点
- new delete malloc free
- malloc/free new/delete
- malloc, free, new , delete
- new delete malloc free
- new,delete, malloc, free
- new delete malloc free
- new/delete malloc free
- malloc/free/new/delete
- new delete malloc free
- New/delete malloc/free
- malloc/free+new/delete
- new/delete malloc/free
- malloc/free new/delete
- new、delete、malloc、free
- new/malloc delete/free
- new delete malloc free
- new delete malloc free
- malloc-free new-delete
- Socket编程中select()的妙用
- VC改变窗口和控件的背景颜色-小结
- Kernel Mode Setting
- C语言面试题大汇总之华为面试题
- Redis参考资料
- new delete malloc free
- PHP Filesystem 函数
- 关于J2EE学习的书籍,个人看法
- GNOME下应该知道的东西
- 把脉Linux上USB数据流
- php+js进度条
- IO
- web开发
- Java核心技术(读写XML)