社区
C++ 语言
帖子详情
请问怎样申请一段连续的内存?
Jim3277
2006-02-17 03:10:46
这是我面试华为的时候考我的,可惜我答不出来?后来没进成
...全文
531
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)
C语言动态
内存
管理
void* malloc(size_t size) malloc函数用来开辟
一段
连续
的
内存
空间,开辟成功返回值为这块
内存
空间的地址,开辟失败返回值为NULL,size为空间的大小,单位为字节。在用malloc开辟空间后要检查是否开辟
内存
成功,使用完这段
内存
后要用free(void* ptr)释放
内存
,否则会造成
内存
泄漏。 void* calloc(size_t num,size_t size) c...
C++动态
内存
管理 new/delete
C语言
内存
管理方式在C++中可以继续使用,但有些地方就无能为力而且使用起来比较麻烦,因此C++又提出了自己的
内存
管理方式:通过new和delete操作符进行动态
内存
管理。 // 1. 单个类型空间的
申请
---new int* ptr1 = new int; int* ptr2 = new int(100); //
申请
空间的同时进行初始化 // 2.
一段
连续
空间的
申请
---new [] //int array[10]; // int[10] //int a = 10...
JVM:TLAB技术
来源:极客时间 | 深入拆解 Java 虚拟机 通常来说,当我们调用 new 指令时,它会在 Eden 区中划出一块作为存储对象的
内存
。由于堆空间 是线程共享的,因此直接在这里边划空间是需要进行同步的。 否则,将有可能出现两个对象共用
一段
内存
的事故。如果你还记得前两篇我用“停车位”打的比方的 话,这里就相当于两个司机(线程)同时将车停入同一个停车位,因而发生剐蹭事故。 Java 虚拟机的解决方法是...
变量
变量本质:(
一段
连续
)
内存
空间别名程序通过变量来
申请
和命名
内存
空间 int a = 0;通过变量名访问
内存
空间
内核怎么分配
一段
连续
的
内存
区间
内核可以用kmalloc分配
一段
连续
的
内存
空间,kmalloc的具体实现为: static __always_inline void *kmalloc(size_t size, gfp_t flags) { struct kmem_cache *cachep; void *ret; if (__builtin_constant_p(size)) { i...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章