社区
Java SE
帖子详情
问个const的问题
jiangnancaizi
2008-12-08 02:48:05
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区?
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
...全文
146
15
打赏
收藏
问个const的问题
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区? 2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiangnancaizi
2008-12-10
打赏
举报
回复
????
VCRWX
2008-12-10
打赏
举报
回复
1. java中,const 常量是存放在哪个区? 静态存储区,常量区还是堆栈区? const static又是存放在哪个区?
首先你要确定java中有无const,它是以final出现的,如果你在定义中没有用到new,她是存在与静态内存栈中,const static存在与池中
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区
c和c++中的const是有区别的,c中的const是有内存的,也就是一个不能改变值的普通常量.
C++中的const有时候是不占用内存的,至于什么时候站用内存,分配在什么地方还要分情况,建议你看一看<<C++编程思想>>
恋空
2008-12-09
打赏
举报
回复
学习
ZangXT
2008-12-09
打赏
举报
回复
[Quote=引用 8 楼 jiangnancaizi 的回复:]
那能否回答我的第二,三个问题
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区 ?
3. 我在网上看到一个题目,说const char str3[] = "abc";是存放在堆栈区, const char* str6 = "abc";则是放在常量区(好像也叫做只读区),为什么呢
[/Quote]
对于C++写的可执行程序:
全局/静态数据区存储全局变量及静态变量(包括全局静态变量和局部静态变量)。
常量数据区中存储程序的常量字符串等。
栈中存储局部变量,参数等,堆存储动态分配的数据(通过new,delete,malloc()和free())来控制。
代码区。
你可以在代码里面分别定义各种类型的变量,然后察看其地址,看看是否相连就知道了。
jiangnancaizi
2008-12-09
打赏
举报
回复
[Quote=引用 12 楼 haoxiongok 的回复:]
引用 11 楼 jiangnancaizi 的回复:
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
应该和静态变量还有字符串常量放在一起吧,统称为数据区
[/Quote]
那是否可以理解为 : 那数据区是否又分为静态数据区和常量区,静态数据区放全局变量和static变量,常量区放常量字符串和const修饰的常量??
haoxiongok
2008-12-09
打赏
举报
回复
[Quote=引用 11 楼 jiangnancaizi 的回复:]
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
[/Quote]
应该和静态变量还有字符串常量放在一起吧,统称为数据区
jiangnancaizi
2008-12-09
打赏
举报
回复
那const是放在常量区么? 最好直接回答我的2,3问题,谢谢^_^
jiangnancaizi
2008-12-08
打赏
举报
回复
那能否回答我的第二,三个问题
2. c和c++中,局部const常量是存放在什么区,全局又是存放在什么去,局部和全局得const static又是存放在什么区 ?
3. 我在网上看到一个题目,说const char str3[] = "abc";是存放在堆栈区, const char* str6 = "abc";则是放在常量区(好像也叫做只读区),为什么呢
shenjie1989
2008-12-08
打赏
举报
回复
java并没有定义所谓的静态存储区,C++也没有
ZangXT
2008-12-08
打赏
举报
回复
刚学不用过于关注这些问题,不是几句话能说明白的
有些精力了去看《深入java虚拟机》这样的书。
不要相信一个叫做《java栈与堆》这个帖子的话,够了。
jiangnancaizi
2008-12-08
打赏
举报
回复
java的data segment中是否存放了static和final变量?
jiangnancaizi
2008-12-08
打赏
举报
回复
哦,我彻底晕了,做c得时候我知道静态存储区,堆区,堆栈区..........
好像内存中又分代码区,堆栈区,数据区
这些都是啥关系? java中为啥没有了静态存储区呢? 难道 java中得final static变量也是存放在数据区?
哪位高手来理顺一下这些关系啊
ZangXT
2008-12-08
打赏
举报
回复
java并没有定义所谓的静态存储区。
jiangnancaizi
2008-12-08
打赏
举报
回复
[Quote=引用 1 楼 meneil 的回复:]
Java中并没有const关键字,但是也将const作为了保留关键字,取而代之的是final关键字,代表定义一个常量,存于内存的data segment
[/Quote]
晕死,是我犯了低级错误了
顺便问一下,数据区是不是就是静态存储区?
meneil
2008-12-08
打赏
举报
回复
Java中并没有const关键字,但是也将const作为了保留关键字,取而代之的是final关键字,代表定义一个常量,存于内存的data segment
有关C++ 实现时extern 和
const
的
问题
之所以会先提起这个
问题
,当然和要解决的
问题
息息相关。你也许不禁会问:难道
const
常量不是文件间共享的吗?当然不是,原因是
const
常量的特殊性。下面我们看看c++ primer的作者怎么说的(重点!): /——– 当以...
超详细的
const
指针与指向
const
的指针
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下
const
... 声明指针时,可以在类型前或后使用关键字
const
,也可在两个位置都使用。例如,下面都是合法的声明,但是含义大不同:
const
...
CONST
的用法及常见
问题
使用
Const
时候的
问题
问题
1:
const
变量&常量 例:为什么下面的例子在使用一个...1)这个
问题
讨论的是“常量”与“只读变量”的区别。常量,例如5, "abc",等,肯定是只读的,因为常量是被编译器放在内存中的只读区
c++中
const
的作用
1)欲阻止一个变量被改变,可使用
const
,在定义该
const
变量时,需先初始化,以后就没有机会改变他了; 2)对指针而言,可以指定指针本身为
const
,也可以指定指针所指的数据为
const
,或二者同时指定为
const
; 3)在...
C++
const
面试题和相关的解释
问题
:如果函数需要传入一个指针,面试官可能会问是否需要为该指针加上
const
,把
const
加在指针不同位置有什么区别;如果写的函数需要传入的参数是一个复杂类型的实例,面试官可能会问传入值参数或者引用参数有什么...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章