| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4946 人关注过本帖
标题:关于常量存储区的问题
取消只看楼主 加入收藏
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用SunShining在2006-10-27 21:09:09的发言:

const int t=10;

肯定是有空间的.

const变量与普通变量一样 只不过该地址被编译器解释为只读而已.

这个是c中const,C++中的不同.


2006-10-27 21:11
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用我不是郭靖在2006-10-27 20:25:30的发言:
哦,原来c和c++中的const的是不一样的.
我还一直以为是c中的const的.

C中const的意思是"一个不能被改变的普通变量" const常量总是占用存储而且它的名字是全局符.

而C++中并不一定要为const创建空间.
当用到extern const int bufsize;或取const地址时,才分配存储空间.

我说的没错吧?

我前边说的很清楚啊,你的语句里有&j,当然就分配空间了

上边的话不是我说的,是Thinking in C++里话.


2006-10-27 21:16
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
Thinking in C++

是Bruce Eckel说的

是不是这本书很挫啊

2006-10-27 21:18
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用SunShining在2006-10-27 21:21:21的发言:
不过.得说明一点.不管在C/C++中.const都不是常量.

那你觉得const应该是什么呢?


2006-10-27 21:24
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用SunShining在2006-10-27 21:25:32的发言:

很简单.一个关键字.
它的作用是使该内存地址为只读.

为什么是内存地址,不是内存内容呢?


2006-10-27 21:31
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

哦,是一样的.可能是看到地址,习惯性的联系到指针


2006-10-27 21:35
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

对了
const int i=10;
这个i是分配在静态存储区吧?(如果分配空间)


2006-10-27 21:39
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用wangxiang在2006-10-27 22:25:21的发言:
不好意思,有点手误.const A a;应改一下比如 const A a(100,100);,呵呵,我原先是认为不要的,就跟这个const int a(100)一样不需要为a分配空间.(只是个人的想法)

这个不好说,反正a(100,100)在内存中是存在的,关键是在栈区,还是在常量区


2006-10-27 23:16
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用song4在2006-10-28 19:22:43的发言:

想出来了
THINKING IN C++说的那个情况
只是一种特殊情况
也就是在这一种情况下才不会非配地址
const int t=10;
int s[t];
.........
char ss[t];
下面只会用t当一个常数的别名,不会当作它用时,才不分配空间

之所以那里这么说,就象刚讲const,它不会提及const在函数里面的功能
只讲const最基本的用途
会回避一些放到以后说

难道说t只有在当数组下标时才不分配地址?


2006-10-28 19:59
快速回复:关于常量存储区的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013191 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved