int *p = new int(5); 和 int *p = new int[5]; 有区别吗,怎么释放我好象就是那种不学C++直接VC的鸟~
解决方案 »
- 关于双缓存问题,我应该已经用了双缓存,但拖动图像时,图像依旧闪烁
- 如何将数组原样写入到txt中。
- AutoCAD二次开发 反应器
- 怎样给某个窗口挂一个线程内键盘钩子?
- 哪位高手可以给点建议吗?谢谢
- 怎样开发一个数据库软件
- 菜鸟提问。 自写的全局函数如何声明?
- 如何得到局域网中其他机器的ip,对方的名称我可以枚举出来!
- 呵呵!VC界面的SDK库,花了一星期,终于搞定了,大家帮忙提提意见!
- VC对话框模式下,弹出式菜单前面添加图标
- DtcGetTransactionManager的第一个参数,msdn上的说明是不是只适用于win2000?
- 多线程MapViewOfFile大文件,分段映射能否重叠?
这句是从堆上分配一个int型变量所占的字节内存,这个内存单元存放的整数值为5,然后让一个整形的指针变量p指向它的地址。
释放方式:delete p;
int *p = new int[5];
这句相当于从堆上分配一个含有5个元素的整形数组所占的字节内存,然后让一个整形的指针变量p指向它的首址。
释放方式:delete []p;(注意这个[]不能掉了,如果掉了就会只释放P[0]所占的空间,p[1]到p[4]不会被释放,产生内存泄露。)