腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
当我只需要覆盖新
的
和删除
的
时候,为什么我要为STL容器编写
自定义
分配器
呢?
、
、
、
、
我想编写一个
自定义
内存
管理器/
分配器
来学习。我很想拥有一个主
分配器
,它从堆中请求n字节
的
ram (通过new)。然后是几个
分配器
..。适配器?每个模块将与主模块接口,请求一个
内存
块来管理,这些
内存
将是堆栈、线性、
池
、块
分配器
等,它们管理来自主
池
分配器
的
分区
的
分配。我面临
的
问题是,我是否应该为各种STL容器编写
自
浏览 9
提问于2020-10-31
得票数 3
回答已采纳
2
回答
我是否可以假设
分配器
不直接保存其
内存
池
(因此可以复制)?
、
、
、
我正在编写一个容器,希望允许用户使用
自定义
分配器
,但我无法判断是否应该通过引用或值传递
分配器
。
分配器
对象不会直接包含其
内存
池
,因此复制
分配器
的
内存
池
并期望
分配器
的
内存
池
交叉兼容,这是否保证(或者至少是合理
的
假设)?还是我总是需要以参考
的
方式传递
分配器
?(我发现,通过引用传递会损害性能
的
浏览 5
提问于2012-07-28
得票数 9
回答已采纳
1
回答
STL容器、SBO和
自定义
分配器
冲突
、
、
、
、
最近,我一直在修改开发一个基于
内存
池
的
自定义
分配器
,该
内存
池
在分配程序
的
多个实例之间共享。 其目的是使分配程序与基于STL和标准
C++
的
容器(如向量、deque、map、string等)兼容。容器
的
各种实现,如std::vector,std::string,
利用
了基于小缓冲区优化堆栈
的
小初始
内存
需求分配。我之所以这样问,是因为实现
自定义<
浏览 3
提问于2012-12-03
得票数 7
回答已采纳
1
回答
自定义
分配器
,包括放置新大小写
、
、
、
我正在尝试为
C++
实现一个
自定义
分配器
,它可以在任何形式
的
新/delete/malloc/free上工作。 我
的
程序是如何工作
的
,我在程序开始时分配了一个由x字节组成
的
内存
池
,并与它们一起工作。例如,当有人写入int* a= new int;时,我
的
程序将从可用
的
内存
池
返回地址,并将其标记为已分配
的
地址,该地址以及分
浏览 2
提问于2019-11-17
得票数 2
回答已采纳
3
回答
有什么简单
的
方法可以根据标准
的
命名需求测试您
的
代码吗?
、
、
假设我想为我
的
自定义
容器编写一个迭代器,它使用
自定义
分配器
,但仍然遵循
C++
标准,这样我就可以确保它能够与标准算法一起工作。是否有一种简单
的
方法来检查上述所有内容是否符合LegacyRandomAccessIterator、容器和
分配器
的
要求?我知道这些需求被列出了,但我们只想说,这些措辞有时会留下一些不明确
的
地方(就我而言,LegacyContiguousIterator实际上是LegacyRandomAccessIterator,
浏览 6
提问于2020-02-22
得票数 3
1
回答
C++
分配器
和
内存
池
所有权
、
、
、
假设我有一个任意
的
C++
分配器
--比如说,如下所示:struct my_allocator template<class Other>或者,换句话说:哪个
分配器
共享哪个
内存
池
的
所有权?我一直认为--没有太多
的
考虑-- 相同
的
值类型
的
分配器
共享他们自己<
浏览 3
提问于2014-07-17
得票数 14
回答已采纳
3
回答
为什么shrink_to_fit (如果满足了请求)会导致重新分配?
、
、
给定带有v.size() == 3和v.capacity() == 5
的
容器v.capacity() == 5,我
的
理解是可以完成对v.shrink_to_fit()
的
调用,如果是的话,则会导致v.capacity然而,这是以重新分配为代价
的
。这个问题可能源于new/delete和malloc/free等更原始
的
命令是如何工作
的
。
浏览 0
提问于2021-02-09
得票数 9
回答已采纳
2
回答
如何根据STL列表中元素
的
数量来分配
内存
?
、
、
可以选择为STL容器提供
自定义
分配器
。但是,我找不到一种实现,可以在
内存
池
空间耗尽时增加
内存
池
的
块大小。STL
分配器
如何读取列表容器
的
大小并自增长块大小?
浏览 18
提问于2017-02-06
得票数 1
1
回答
C++
STL::MAP内部节点中存储了什么?
、
、
、
但是,新
的
Map节点大小保持不变,为48字节。我已经用
自定义
分配检查过了。(我假设根据上述代码
的
行为,在map节点中保存了一些用于红黑树
的
元数据、键和指向值
的
指针。) 我有一个管理持久
内存
的
内核模块。它通过将持久
内存
映射到应用程序地址空间,使应用程序能够访问它们。我正在尝试使用
c++
STL开发一个简单
的
持久密钥值存储。因此,我尝试创建一个
自定义
分配器
,以便从持久
浏览 1
提问于2017-02-23
得票数 1
2
回答
C++
STL
分配器
与运算符
、
、
、
、
据
C++
Primer第4版,第755页,有一个注释说: 有人能帮助澄清这一说法吗?给我更多
的
例子?何时使用
分配器
,何时使用new?谢谢!
浏览 6
提问于2011-04-11
得票数 32
回答已采纳
1
回答
boost::pool_allocator和boost::fast_pool_allocator中
的
‘'Tag’模板参数以支持控制
底层
池
的
实例?
、
、
、
为了实现这一点,我
利用
了boost::fast_pool_allocator中
的
boost::fast_pool_allocator模板参数来控制
池
(具体来说,什么时候删除哪个
池
)。used{}; 经过大量
的
努力和定义了至少20种不同
的
池
类型,我
的
内存
问题得到了解决,我继续前进。如您所见,Boost版本1.56中删除了Tag参数,该参数使区分用于存储对象
的
<e
浏览 5
提问于2014-10-04
得票数 0
2
回答
默认
的
stl分配程序如何分配?
、
、
、
我让对象使用重载
的
新/删除操作符,就像我使用
内存
池
分配
内存
一样。时,它是如何工作
的
默认STL
分配器
使用::container.When中新分配
内存
的
操作符是否使用它?我有几个问题:这是否意味着当容器保存对象而不是指针时,
分配器
在Foo上调用"new“?另外,如果是,是否意味着如果我已经使用
池</em
浏览 2
提问于2014-10-13
得票数 1
回答已采纳
2
回答
C++
std::string
的
各个实例是否使用相同
的
分配器
?
、
、
我一直想知道
的
一件事是,我在
C++
代码中使用
的
std::string实例是否使用相同
的
分配器
,或者它们是否有自己
的
独立
内存
池
? 显然,跨多个频繁创建和销毁
的
字符串共享单个
内存
池
更有效。
浏览 1
提问于2011-03-10
得票数 7
回答已采纳
3
回答
如何防止对boost::fast_pool_allocator管理
的
对象调用析构函数?
、
、
、
我想
利用
boost::fast_pool_allocator
的
以下广告功能(请参阅): 关键
的
词组是,让他们被遗忘,。我不希望在这些对象上调用析构函数。(原因是我有数以百万计
的
小对象在堆上形成了一个极其复杂
的
所有权网络,当大多数单亲对象
浏览 0
提问于2014-04-08
得票数 4
1
回答
C++
线性
分配器
与容器边界
、
、
、
、
我正在实现一个定制
的
GUI/游戏引擎,并选择实现一个异构
的
资源管理系统。因此,在许多情况下,
自定义
分配器
是非常理想
的
。因为
分配器
包含指向初始数据根
的
指针和位置,因此它包含关于如何迭代
浏览 1
提问于2020-12-17
得票数 1
回答已采纳
4
回答
对于许多小
的
分配,最有效
的
malloc实现?
、
、
在我
的
应用程序中,有大量具有高婴儿死亡率
的
小型malloc/free事件。通常我会编写自己
的
内存
池
,但在看到使用tcmalloc
的
性能后,我很想使用替代
的
malloc。是否有与原始
内存
池
实现具有类似性能
的
实现? 对于
C++
,我有另一个执行
C++
new/delete舞蹈
的
应用程序。假设同样高
的
婴儿死亡率。两个部分
的</
浏览 0
提问于2011-09-06
得票数 5
5
回答
C++
:
内存
分配器
、
我听说人们在他们
的
项目中使用
自定义
内存
分配器
,特别是在
C++
中。 你不觉得malloc是你可以去
的
最低级别吗?
浏览 3
提问于2011-01-09
得票数 15
1
回答
将std::set<T>连接到
内存
池
我目前正在尝试
自定义
分配器
。我有一个,它实现了一个带有
内存
池
的
自定义
分配器
。(Data()); // error: no pool found for type: std::_Rb_tree_node<Data>详细信息可以在中找到。 有人知道我是怎么解决这个问题
浏览 2
提问于2011-06-19
得票数 3
3
回答
自定义
内存
分配-C与
C++
、
、
、
、
我一直在学习
C++
,并且遇到了定制
内存
分配器
的
主题。据我所知,通过设计一个
分配器
并将这个
分配器
与标准库容器一起使用,我们可以避免堆分配。而且,我们似乎可以避免
内存
碎片。这在一定程度上是通过使用位置新建和位置删除运算符来实现
的
。 在C语言中是否也可以设计一个
自定义
内存
分配器
,这样我们就可以控制
内存
分配并避免碎片?如果可能,
C++
是否简单地提供了具有更高抽象级别的功能
浏览 58
提问于2020-08-07
得票数 1
5
回答
从malloc()发出
的
Windows和Linux本机OS/系统调用是什么?
、
、
、
、
我最近看到了以下帖子:
分配器
只允许您指定不同
的
分配策略。例如,您可以使用一个
分配器
(只调用malloc一次)来检索一个大
的
内存
池
,然后对于后续
的
分配请求,它只返回这个
池
的
一小块。或者,您可以使用它作为钩子,允许您在每次分配或释放
内存
时执行一些额外
的
任务。 至于你<e
浏览 8
提问于2013-08-03
得票数 12
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
谷歌开源TCMalloc,专为C和C++定制的内存分配器
谷歌开源 TCMalloc,专为 C和C+定制的内存分配器
Python内存管理机制
关于redis,你需要了解的几点!
弹性内存分配在IOT中的重要性
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券