社区
C++ 语言
帖子详情
C++ 中标准库的内存是在堆中,还是在栈中分配?
wangcgfan
2010-09-25 10:56:02
C++ 标准库中自带的std::string类中字符数量是可以动态变化的,想问一个问题,string类内部存储字符串的内存 是在堆中还是在栈中分配的?有人了解吗?
...全文
781
12
打赏
收藏
C++ 中标准库的内存是在堆中,还是在栈中分配?
C++ 标准库中自带的std::string类中字符数量是可以动态变化的,想问一个问题,string类内部存储字符串的内存 是在堆中还是在栈中分配的?有人了解吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
鸵鸟
2010-10-01
打赏
举报
回复
STL容器如果定义为局部变量, 栈上一般三个指针begin, end & ?, resize之后sizeof (container)不变
元素分配在堆
qq120848369
2010-10-01
打赏
举报
回复
string里边就是一个指针char *,指针指向了一段内存,内存里放的就是字符串.
冻结
2010-09-25
打赏
举报
回复
能改变大小的容器都是在堆上。
栈上改变大小,没人会这么做吧。
冻结
2010-09-25
打赏
举报
回复
栈上一部分不变的。
堆上一部分可变的。
job82824
2010-09-25
打赏
举报
回复
[Quote=引用 3 楼 wangcgfan 的回复:]
从性能上讲,是堆上的性能好还是栈的性能好?
[/Quote]
性能上将,无论堆上的还是栈上的都好。性能的好坏是你的算法决定的,不是变量的性质决定。
动态变量有动态的好处--可伸缩;
静态变量有静态的好处--自动初始化;
没有绝对的好坏的。
Defonds
2010-09-25
打赏
举报
回复
是在堆上
wangcgfan
2010-09-25
打赏
举报
回复
从性能上讲,是堆上的性能好还是栈的性能好?
pengzhixi
2010-09-25
打赏
举报
回复
假设string使用一个指针实现的,那么这个指针本身是分配在栈上,但是指针指向的内存是堆上。
xingzhe2001
2010-09-25
打赏
举报
回复
string是堆上
辰岡墨竹
2010-09-25
打赏
举报
回复
STL自带的分配器无论是通过malloc还是new实现的,在Windows下都是直接调用HeapAlloc/HeapFree等堆类型API。一般STL来存放的数据都是频繁变化,且比较小的(不大于1MB),堆上足够用了。
luoqi
2010-09-25
打赏
举报
回复
stl模板自带内存分配器alloctor
不过,在使用时,你可以传入自己的内存管理器
alloctor一般有两种处理方法(PJL版,STL有很多版本)
1,POD类型,自己malloc
2,obj类型,调用obj的construct(一般是new placement)
而new placement一般使用编译器的new
你可以在<new.h>中找到,也可以实现自己的new替换
Sjdiao
2010-09-25
打赏
举报
回复
std::string 声明的变量 假如符值范围在0-15,那么他是栈分配的。如果长度超过了16那么就是在对上分的内存,debug一下就知道了。
C/
C++
指针经典资料大全
-
内存
分配
:动态
内存
分配
(`malloc`,`calloc`,`realloc`)和静态
内存
分配
(
栈
上的
内存
)。 -
内存
释放:`free`函数用于释放动态
分配
的
内存
,防止
内存
泄漏。 - 指针和数组的关系:数组名实质上是首元素的地址,...
C++
必知必会(入门经典)
-
C++
标准库
提供了大量有用的功能,如输入/输出流(iostream)、容器(如vector、list、map)和算法(如sort、find)。 - 使用
标准库
可以极大地提高代码的效率和可读性。 9. **异常处理** - 异常处理是处理程序...
最全的C和
C++
语言笔试面试题汇总
- `#include "file.h"`:首先从当前工作目录开始搜索文件,如果未找到,则从
标准库
目录或系统目录
中
继续搜索。 #### 五、实时系统的基本特性 - 实时性:系统能够在规定的时间内响应输入,并完成任务。 - 可靠性:...
免费下载:C语言难点分析整理.doc
这部分解释了
内存
对齐的概念以及在C语言
中
如何影响结构体的
内存
布局。 ### 36. 冒泡和选择排序实现 这部分提供了冒泡排序和选择排序的具体实现。 ### 37. 函数指针数组与返回数组指针的函数 这部分介绍了函数指针...
IT面试笔试题集锦
在实际笔试过程
中
,题集可能会包含算法题,比如排序算法(快速排序、归并排序、
堆
排序等)、查找算法(二分查找、哈希查找等)以及数据结构(
栈
、队列、链表、树、图等)。这些算法不仅考察编码能力,还测试解决问题...
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章