社区
C++ 语言
帖子详情
C/C++程序中堆区最大有多大?
恋喵大鲤鱼
博客专家认证
2015-05-17 05:28:46
为什么我在VS2012中new了如此大的空间却不会报错?char* p=new char[1024*1024*1024*1024*1024];我的物理内存为4G!
...全文
874
3
打赏
收藏
C/C++程序中堆区最大有多大?
为什么我在VS2012中new了如此大的空间却不会报错?char* p=new char[1024*1024*1024*1024*1024];我的物理内存为4G!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lraining
2015-05-17
打赏
举报
回复
Linux虚拟地址空间内核占1GB,留给用户进程3GB,Windows是各占2GB,用户空间也是用户进程最大的堆申请数量了。但考虑到程序本身大小,动态库等因素,实际的堆申请数量是达不到最大值的,Linux小于3GB,Windows小于2GB。
苏叔叔
2015-05-17
打赏
举报
回复
1024*1024*1024*1024*1024的结果,超出了size_t的表示范围,结果是0
iyomumx
2015-05-17
打赏
举报
回复
因为 1024*1024*1024*1024*1024 == 0
C/
C++
面试宝典大全
C/
C++
面试宝典大全
【面经总结c/
c++
】堆和栈的
区
别?大小限制?一般我们
程序
中,栈最多能开辟多大?堆呢?
要说堆、栈的
区
别,首先要有一个概念:一个进程的4G虚拟地址空间划分:(如图) 整体上从低地址到高地址可以划分为:3G的用户空间和1G的内核空间。 用户空间中:从低地址到高地址分别为:128M的不可以访问
区
;.text指令段;.data数据段;.bss数据段;... ;heap堆
区
(自低地址向高地址开辟空间);....;stack栈
区
(自高地址向低地址开辟空间);...... -----...
C/
C++
程序
内存的分配
一、一个C/
C++
编译的
程序
占用内存分为以下几个部分: 栈
区
(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。 堆
区
(heap):一般由
程序
员自动分配,如果
程序
员没有释放,
程序
结束时可能有OS回收。其分配类似于链表。 全局
区
(静态
区
static):存放全局变量、静态数据、常量。
程序
结束后游戏厅释放。全局
区
分为已初...
C/
C++
程序
内存的分布
一、一个C/
C++
编译的
程序
占用内存分为以下几个部分: 栈
区
(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。 堆
区
(heap):一般由
程序
员自动分配,如果
程序
员没有释放,
程序
结束时可能有OS回收。其分配类似于链表。 全局
区
(静态
区
static):存放全局变量、静态数据、常量。
程序
结束后由系统释放。全局
区
分为已初始化全局
区
(data)和未初始化全局
区
(bss)。 常量
区
(文字常量
区
):存放常量字符串,
程序
结束后有系统释放。 代
史上最全C/
C++
面试、
C++
面经八股文,一文带你彻底搞懂C/
C++
面试、
C++
面经!
目录1.讲一讲封装、继承、多态是什么?2.多态的实现原理(实现方式)是什么?以及多态的优点(特点)?3.final关键字的作用是什么?4.虚函数是怎么实现的?它存放在哪里在内存的哪个
区
?什么时候生成的5.智能指针的本质是什么,它们的实现原理是什么?6.匿名函数的本质是什么?他的优点是什么?7.右值引用是什么,为什么要引入右值引用?8.左值引用和指针的
区
别?9.指针是什么?10.weak_ptr真的不计数?是否有计数方式,在哪分配的空间。11.malloc的内存分配的方式,有什么缺点?
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章