社区
C++ 语言
帖子详情
申请内存 问题 MAP使用
Daniel_31
2010-07-29 03:20:21
我想申请10M内存
然后用MAP 将MAP中的值存放到内存中,这样我就可以通过MAP的 键值直接访问或者调用内存中的数据
希望高手指点一下
给点代码
谢谢了
...全文
140
14
打赏
收藏
申请内存 问题 MAP使用
我想申请10M内存 然后用MAP 将MAP中的值存放到内存中,这样我就可以通过MAP的 键值直接访问或者调用内存中的数据 希望高手指点一下 给点代码 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ForestDB
2010-07-29
打赏
举报
回复
不太理解LZ的想法。
太乙
2010-07-29
打赏
举报
回复
[Quote=引用 10 楼 sdp1031 的回复:]
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,……
[/Quote]很多是多少?10M?
如果是的话,那就很少了,不用考虑什么技巧,直接定义一个map,插入到map即可!(map本身就是在内存里的)
Daniel_31
2010-07-29
打赏
举报
回复
[Quote=引用 11 楼 namelij 的回复:]
引用 10 楼 sdp1031 的回复:
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据……
[/Quote]
现在是别的函数先从硬盘把数据解压缩出来,
然后给我用
高性能架构探索
2010-07-29
打赏
举报
回复
[Quote=引用 10 楼 sdp1031 的回复:]
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,……
[/Quote]
用内存映射吧
把硬盘中的数据映射到内存中,然后从内存里面取出数据,放到map里面,然后将map里面的数据存到硬盘里面,
Daniel_31
2010-07-29
打赏
举报
回复
[Quote=引用 9 楼 macrojj 的回复:]
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
[/Quote]
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,实现查找数据的功能
macrojj
2010-07-29
打赏
举报
回复
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
Daniel_31
2010-07-29
打赏
举报
回复
还有好一些的没???
wyz007134
2010-07-29
打赏
举报
回复
不要给容器申请空间,给元素申请空间,然后把这些元素放入容器即可。
容器的空间是自动增长的,一般情况下不用考虑内存用尽的问题吧。
高性能架构探索
2010-07-29
打赏
举报
回复
键放在本地
值放在堆里面
char *p = new char[10];
char *t = "hiuh";
memcpy(p, t. sizeof(t));
map.insert(make_pare(1, p));
只是大概思路
genlic
2010-07-29
打赏
举报
回复
声明map后,insert不行?
Daniel_31
2010-07-29
打赏
举报
回复
[Quote=引用 3 楼 hai040 的回复:]
map<keytype, void*>?
[/Quote]
如何将MAP赋值呢
如何将MAP的值放到内存中呢???
MEMCPY????
hai040
2010-07-29
打赏
举报
回复
map<keytype, void*>?
Daniel_31
2010-07-29
打赏
举报
回复
[Quote=引用 1 楼 namelij 的回复:]
申请内存你就用new或者malloc来实现
至于你放MAP至内存可以进行拷贝
memcpy
但我不明白,map会自动调用内存分配函数,为什么你要自己申请内存呢
[/Quote]
因为有很多的大量的数据,我要把MAP的东西 放到内存中,然后通过MAP的键和值的映射,从内存中找到数据
求代码
高性能架构探索
2010-07-29
打赏
举报
回复
申请内存你就用new或者malloc来实现
至于你放MAP至内存可以进行拷贝
memcpy
但我不明白,map会自动调用内存分配函数,为什么你要自己申请内存呢
Unity Tile
map
模块全攻略
这是Tile
map
相关的系列教程,在Unity2017.2以及以上版本中提供了这样的新功能,他可以快速的设计2D关卡,减少关卡设计的重复操作,提高效率,很有魅力的一个模块,跟五斗米老师一起学习吧,你一定会为这个新功能欢呼...
C++
map
clear
内存
泄漏
问题
STL容器调用clear()方法,通常只是使得容器内部的对象通通析构,但容器本身...若需要多次
使用
同一个
map
,其中每次
使用
后都clear清空,多次之后,可能出现
内存
泄露,这是因为
map
的空间便没有释放,所以得
使用
swap清空。
map
的
内存
释放
(原文)原文提到
map
在erase和clear后不会立马释放
内存
,而是采用类似
内存
池的机制,对
申请
的
内存
进行”预留“,在一段时间内不
使用
才会予以“释放”。 (在编译器MSVC1930的实际测试中)大
内存
空间在...
map
erase
内存
释放
问题
很多人说
map
中的erase以及clear不能释放
内存
,这几天实验了下,这个说法是不确切的,较为准确的说法应该是,
map
中的erase以及clear,不能,“马上”释放
内存
。
map
有自己的机制回收
内存
,用erase以及clea
关于c++中
map
的
内存
占用
问题
...很多人说
map
中的erase以及clear不能释放
内存
,这几天实验了下,这个说法是不确切的,较为准确的说法应该是,
map
中的erase以及clear,不能,“马上”释放
内存
。
map
有自己的机制回收
内存
,用eras
C++ 语言
64,651
社区成员
250,508
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章