请问怎样申请一段连续的内存?

Jim3277 2006-02-17 03:10:46
这是我面试华为的时候考我的,可惜我答不出来?后来没进成
...全文
476 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikiki 2006-03-03
  • 打赏
  • 举报
回复
我也想知道怎么分配一段不连续的内存。
cnhgj 2006-03-03
  • 打赏
  • 举报
回复
new (buf) char[SIZE];
(buf)是什么意思?
////////////////////

定位new表达式,指定待创建对象所在的内存地址,delete只能delete[] buf,即首地址
tygfr 2006-03-02
  • 打赏
  • 举报
回复
使用new 分配动态数组就可以了
healer_kx 2006-03-02
  • 打赏
  • 举报
回复
借这个机会,顺便问一下怎么一次申请不连续的内存。
manplus 2006-03-02
  • 打赏
  • 举报
回复
HGLOBAL hmem=::GlobalAlloc(GHND,sizeof(char)*1024);
howyougen 2006-03-02
  • 打赏
  • 举报
回复
delete []p1;
可以,因为p1就等于buf
但是不推荐这么用

delete [] p2; 绝对不行
ximig 2006-03-02
  • 打赏
  • 举报
回复
char *buf = new char[2*SIZE];
char *p1 = new (buf) char[SIZE];
char *p2 = new (buf+size) char[SIZE];
...
delete []buf;
buf = NULL;

-----------------------------------

学习。。。
Jchangcheng 2006-03-02
  • 打赏
  • 举报
回复
new 一个数组;别忘记delete
haiwangstar 2006-03-02
  • 打赏
  • 举报
回复
没错..我关心的是如何才能分配一段不连续的内存???????????
寻开心 2006-03-02
  • 打赏
  • 举报
回复
没听说过什么指针可以指向不连续的内存块的

placement new可以解决问题
delete 只能delete连续内存的首地址,否则就会出错
whatsouta 2006-03-02
  • 打赏
  • 举报
回复
char *buf = new char[2*SIZE];
char *p1 = new (buf) char[SIZE];
char *p2 = new (buf+size) char[SIZE];
...
delete []buf;
buf = NULL;


这样出来的东西,能否 delete []p1; delete [] p2; 呢???
jinke1983 2006-02-28
  • 打赏
  • 举报
回复
new (buf) char[SIZE];
(buf)是什么意思?
sankt 2006-02-27
  • 打赏
  • 举报
回复
楼上正解
021850524 2006-02-27
  • 打赏
  • 举报
回复
char *buf = new char[2*SIZE];
char *p1 = new (buf) char[SIZE];
char *p2 = new (buf+size) char[SIZE];
...
delete []buf;
buf = NULL;
是这意思吗?
Jim3277 2006-02-27
  • 打赏
  • 举报
回复
不好意思,问错了,

是问“怎样申请两段连续的内存”?
FengYuanMSFT 2006-02-18
  • 打赏
  • 举报
回复
Use VirtualAlloc to reserve a block of memory and commit as needed.
GeminiXXXCC 2006-02-18
  • 打赏
  • 举报
回复
堆上需要一段连续的用new?
栈上需要一段连续的就定义一个数组?
jaycsu 2006-02-17
  • 打赏
  • 举报
回复
还不就是,malloc和new
ericqxg007 2006-02-17
  • 打赏
  • 举报
回复
难道是要你重载new?
逸学堂 2006-02-17
  • 打赏
  • 举报
回复
new
delete
加载更多回复(6)

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧