腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(3764)
视频
沙龙
1
回答
C++
STL
:
为什么
分配器
不
增加
容器
的
内存
占用
?
c++
、
stl
、
allocator
下面的代码片段(see on godbolt)显示,大
的
分配器
不会
增加
STL
容器
的
内存
占用
,但大
的
比较器会。
为什么
会这样呢?
浏览 24
提问于2021-07-30
得票数 3
回答已采纳
2
回答
如何根据
STL
列表中元素
的
数量来分配
内存
?
c++
、
stl
、
allocator
可以选择为
STL
容器
提供自定义
分配器
。但是,我找不到一种实现,可以在
内存
池空间耗尽时
增加
内存
池
的
块大小。
STL
分配器
如何读取列表
容器
的
大小并自增长块大小?例如,块大小从1、2、4开始,依此类推,然后当
容器
中有1、3、7个节点时,块大小在下一次插入后立即增长。
浏览 18
提问于2017-02-06
得票数 1
1
回答
我可以写一个自定义
分配器
来决定std::vector
的
重新分配量吗?
c++
、
memory-management
、
vector
、
allocator
、
c++-concepts
据我所知,自定义
分配器
必须符合
的
要求。但是,基于这个接口,我不明白当向量耗尽储备时,我如何选择一个新
的
分配量。例如,我
的
机器上的当前实现将在push_back()期间每次超过reserve时将分配大小加倍。我想提供一个自定义
分配器
,是缓慢
的
和
内存
敏感
的
。它将只分配以前
的
capacity+1来容纳新元素。这些是我正在研究
的
概念
的
接口:a.allocate(n, cvptr
浏览 20
提问于2016-07-26
得票数 1
回答已采纳
2
回答
在dll之间使用
stl
时遇到问题。
c++
、
windows
、
dll
、
stl
我在dll中有一个向量(或字符串),通过它
的
引用或指针在另一个dll中修改它是否安全,比如将新成员推入向量或更改字符串
的
值?不知何故,当我这样做
的
时候,有时会发生崩溃,但我不知道
为什么
。如果我只是使用常量指针或引用在另一个dll中读取它,它是绝对安全
的
吗? 使用stlport怎么样?这样更安全吗?
浏览 1
提问于2012-06-07
得票数 2
2
回答
没有零碎
stl
容器
的
大容量
内存
c++
目前,当我们想要用非常零碎
的
内存
分配来销毁一个非常大
的
嵌套
的
复杂对象
的
列表/映射时,我假设
C++
是调用析构函数并逐个递归地释放
内存
,这需要大量
的
时间并且效率低下?在我
的
例子中,我发现销毁一个300 to
的
对象有时需要1分钟或更长时间。 操作系统可以高效地杀死
占用
大量
内存
的
进程,因为它只释放了所有
内存
,而没有过多地考虑进程内部
的<
浏览 23
提问于2019-02-02
得票数 7
2
回答
为什么
STL
为
分配器
保留一个接口?
c++
为什么
STL
为
分配器
保留一个接口?以vector为例:class vector;operator new,delete,new[],delete[],它在创建对象时几乎可以完成我们需要
的
任何事情。那么,
为什么
像new expressions?这样
的
STL
容器</
浏览 0
提问于2018-02-16
得票数 5
回答已采纳
2
回答
我可以使用
stl
分配器
将整个
stl
容器
及其内容(键和值)存储在我创建
的
内存
块中吗?
c++
、
memory-management
、
stl
、
allocator
我试图了解是否可以使用
stl
分配器
(
stl
allocator,)或其他
C++
机制来实现我
的
目的。明确地说,当我说“
容器
,包括键和值”时,我指的是通常由
容器
内
的
代码在堆上分配<e
浏览 5
提问于2015-09-18
得票数 4
回答已采纳
2
回答
在程序退出之前,Std::deque不会释放
内存
c++
、
stl
、
deque
在linux上,std::deque直到程序退出才会释放
内存
。完整
的
代码如下。任何帮助都将不胜感激!
浏览 0
提问于2011-04-30
得票数 6
3
回答
共享
内存
中
的
STL
容器
(Windows)
c++
、
winapi
、
stl
、
boost-interprocess
我正在开发一个应用程序,该应用程序由两个必须共享某些数据结构
的
进程组成。这些类组织在不同
的
库中,库在不同
的
应用程序中使用。我
的
第一次尝试是在中使用Win32,但这里
的
问题是我不能使用
STL
容器
。 为了寻找解决方案,我找到了,如果我理解的话,我必须将类中
的
所有
STL
容器
更改为"
STL
“推进进程间
容器
。那么,是否有其他方法来使用
STL
(在Windows
浏览 8
提问于2012-09-18
得票数 3
回答已采纳
4
回答
C++
链表(std:: list )是否使用与
内存
堆相关
的
new?
c++
、
heap-memory
使用Visual Studio for
c++
;std::list是否使用new来分配节点?我之所以这样问,是因为我将
内存
堆编码作为一种挑战,如果它使用new,则会降低
内存
堆
的
效率。
内存
堆根据这个问题,第一个答案是:谢谢。
浏览 1
提问于2012-10-25
得票数 1
回答已采纳
4
回答
关于std::向量
的
第二个参数
c++
、
vector
、
allocator
从上面的链接来看,它是为了:
分配器
:用于定义存储分配模型
的
分配器
对象
的
类型。默认情况下,使用T类型
的
分配器
类模板,它定义了最简单
的
内存
分配模型,并且与值无关。 关于这件事有什么建议吗?
浏览 5
提问于2010-12-14
得票数 10
回答已采纳
4
回答
防止
STL
容器
中
的
内存
释放
c++
、
memory-management
、
stl
我有一个
STL
容器
(std::list),我一直在重用它。我指的是我 当使用回调进行分析时,我看到了对new (malloc)和delete (free)
的
大量调用因此,我正在寻找某种方式来最好地预先分配相当多
的
元素。我也希望我
的
分配池继续
增加
,直到达到一个高水位,并让分配池继续保持
内存
,直到
容器
本身被删除。不幸
的
是,标准
浏览 11
提问于2013-06-21
得票数 5
回答已采纳
1
回答
Hinnant堆栈
分配器
和异常
c++
、
exception
、
heap-memory
、
allocation
、
stack-memory
我想将Hinnant
的
堆栈
分配器
(,)与
STL
容器
结合使用,但我希望修改它,使动态
内存
分配永远不会发生。要实现这一点,必须做
的
一件事是,如果堆栈提供
的
缓冲区上没有空间,则必须替换分配/重新定位方法中
的
新/delete调用。 但我该如何处理例外情况呢?
STL
容器
可能抛出异常。
内存
是否保留给放置在静态
内存
中
的
异常?还是仍然有任何分配发生在“未指定<
浏览 3
提问于2018-06-01
得票数 6
回答已采纳
2
回答
如何使用mmap指向
STL
类型?
c++
、
stl
、
mmap
我有一个指向字符指针
的
mmap类型转换ptr =(字符*)mmap(0,文件大小,PROT_READ | PROT_WRITE,MAP_SHARED,fd,0);如何将mmap调用更改为指向地图?
浏览 0
提问于2010-04-16
得票数 1
回答已采纳
5
回答
谁有一个很好
的
C++
共享
内存
容器
?
c++
、
stl
、
shared-memory
我早就想要一个可以放在共享
内存
段或
内存
映射文件中
的
STLish
容器
。 我考虑过使用自定义
分配器
和新
的
放置来将常规
STL
容器
放入共享
内存
段。(就像这个ddj )。问题是
STL
容器
内部会有指向它们拥有的
内存
的
指针。因此,如果共享
内存
段或
内存
映射文件加载到不同
的
基址(可能是在随后
的
运行中,或者在第二
浏览 0
提问于2008-11-04
得票数 8
回答已采纳
1
回答
默认
的
C++
std::
分配器
能否被第三方库取代/取代?
c++
、
c++11
、
memory-management
、
stl
、
c++17
我
的
团队正在开发一个应用程序,在这个应用程序中,我们需要跟踪
内存
的
使用情况,并提供有关程序
占用
多少
内存
区域
的
统计信息(例如,由不受控制
的
STL
容器
使用
的
N个字节)。我需要找到一种方法来识别从
STL
容器
中分配到第三方库中
的
内存
。 应用程序使用第三方库,这些库要么我们无法访问源代码,要么被指示不对源代码进行更改。其中一些库使用标准
的
浏览 2
提问于2020-04-10
得票数 2
回答已采纳
2
回答
具有频繁插入和删除
的
基于无序、固定大小
内存
池
的
容器
c++
、
memory-management
、
pool
我正在寻找一个
容器
来存储动态增长和缩小
的
对象家族,我知道这些对象
的
大小接近给定
的
界限,但永远不会超过给定
的
界限。
容器
不需要排序,所以我对任何类型
的
插入都很满意,无论它发生在哪里。此外,我希望所有对象都存储在某个固定
的
连续
内存
池中,但我不要求在某个时间点实际
占用
的
内存
是
内存
池中
的
一个连接间隔。 在
STL
或boost中有没有提供上述
浏览 0
提问于2014-02-02
得票数 1
3
回答
用于管理不同
内存
空间
的
STL
自定义
分配器
c++
、
stl
、
memory-management
我想使用
STL
自定义
分配器
类
的
不同实例来管理不同
的
内存
空间,然后能够为
STL
容器
指定一个
分配器
实例,以便每个
容器
只从其分配
的
内存
空间中提取。但我不知道我该怎么做。我知道如何将
分配器
类型传递到
STL
容器
的
模板参数中,但我想要
的
是类似于将
分配器
实例传递到
STL
容器</em
浏览 0
提问于2009-10-22
得票数 8
回答已采纳
2
回答
具有堆栈和动态分配
的
容器
c++
、
optimization
、
stl
、
containers
是否有一个
容器
对少量元素使用本地缓冲区,并且只有在元素数量超过一定限制时才使用堆分配?类似于大多数std::string实现所做
的
事情。背景Foo foo; // some data{} 此代码部分具有较高
的
调用频率,但标记项
浏览 0
提问于2010-12-10
得票数 0
3
回答
如何找出一个
C++
类
的
实例消耗了多少
内存
?
c++
、
object
、
memory
、
memory-management
我正在开发一个基于boost图形库
的
图形类。图形对象包含一个boost图,可以说是一个adjacency_list和一个地图.当监视我
的
程序
的
总
内存
使用情况时,它消耗了相当多
的
内存
(用pmap检查)。现在,我想知道,这个图类
的
填充
的
对象到底
占用
了多少
内存
?填充,我指的是当adjacency_list充满了顶点和边。 我发现,使用sizeof()并不能给我带来多大帮助。使用valgrind也不是一种替代方法,因为以前已
浏览 5
提问于2010-03-19
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
从入门到精通:C+STL标准模板库完全指南
5 千字长文+ 30 张图解 | 陪你手撕 STL 空间配置器源码
为什么要学习C+,学习C+有什么好处
C语言学习攻略,怎样学好C语言在,进军C加加游戏编程!
C+从零开始怎么学?
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券