社区
C++ 语言
帖子详情
关于"如果常量的值在编译时已知就不需要分配空间"
Proteas
2008-03-19 09:57:25
如题,不分配存储空间,那把值放哪里.不理解这句话.
...全文
115
5
打赏
收藏
关于"如果常量的值在编译时已知就不需要分配空间"
如题,不分配存储空间,那把值放哪里.不理解这句话.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Treazy
2008-03-19
打赏
举报
回复
.text
.data
.bss
......
Proteas
2008-03-19
打赏
举报
回复
原来是放到代码段了.
ryfdizuo
2008-03-19
打赏
举报
回复
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。
常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)
shc7478
2008-03-19
打赏
举报
回复
常量的值保存在代码段,和代码在一起,若需要取得该数据,需要访问代码段。
汇编语言里解释得更清楚,更具体一些。
paidfighting
2008-03-19
打赏
举报
回复
编译器干的事情,它在任何用到该常量的地方用该值替代就完成了
《C深度解析》第一章 c
编译
、链接视频教程
课程内容: 1. IDE 与 源文件开发方式的异同 2.
编译
的详细过程 3.
编译
器集合的组成 4. gcc -v,
编译
信息的详细分析 5.... 程序内存结构介绍 代码和数据(
常量
、变量)是如何存放在程序的内存结构中的
编译
优化之 -
常量
传播入门
1. 介绍
常量
传播是现代的
编译
器中使用最广泛的优化方法之一,它通常应用于高级中间...能在
编译
时
求
值
的表达式不
需要
在执行
时
才求
值
。如果这样的表达式在循环内,则只
需要
在
编译
时
进行一次求
值
而节省执行
时
间...
C#之
常量
使用
常量
是在
编译
时
已知
并在程序的生存期内不发生更改的不可变
值
。在C#中声明
常量
需要
通过const关键字,只有C#内置类型(System.Object除外)可以声明为const。使用
常量
时
,
常量
必须在声明
时
初始化;而且可以同
时
声明多...
常量
常量
是在
编译
时
已知
并在程序的生存期内不发生更改的不可变
值
。 在程序中使用
常量
至少有3个好处: A.
常量
用易于理解的清楚的名称替代了含义不明确的数字或字符串,使程序更易于阅读。 B.
常量
使程序更易于修改...
关于E0028错误:表达式必须含有
常量
值
的原因以及解析
错误显示: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0028 表达式必须含有
常量
值
此问题。我将通过我写的一段关于
需要
通过输入函数给数组定义大小 的代码来讲解。
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章