| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2992 人关注过本帖
标题:用const定义常量比用define定义常量有什么好处?
只看楼主 加入收藏
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
谢谢楼上的哥们,我领教了不少啊!谢谢!

♂ 死后定当长眠,生前何须久睡。♀
2006-03-17 00:03
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 

const 定义的常量在三种情况下才会在内存中分配地址的
具体是哪三中情况我也不知道了 等我回去再查一查告诉大家
如果fconst int a=90执行这一条语句后就分配地址了吗?我也有点疑惑 请大家指教指教啊

2006-03-17 11:17
abbotpldfy
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-24
收藏
得分:0 

const double&b;
double&sconst b;
const double &const b;
分别表示什么意思啊

2006-10-30 22:17
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
当你定义了一个常量时,C++编译器会把它放在符号表里(我想引用也是这种机制),所以当你用到该常量时,会从符号表里查找。但是,当你用到了该常量的地址,如 const int i=10; const int *p=&i;,那么该常量才会拥有一个可以使用的内存地址。


#include <iostream>
using namespace std;
int main()
{
int a;
const int b=0;
int c;
cout;
cout<<&a<<\" \"<<&c;
return 0;
}
输出:0x22ff8c 0x22ff84



#include <iostream>
using namespace std;
int main()
{
int a;
const int b=0;
int c;
cout;
cout<<&a<<\" \"<<&b<<\" \"<<&c;
return 0;
}
输出:0x22ff8c 0x22ff88 0x22ff84

不知道这样看,算不算分配了内存。。。

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-10-31 09:50
小鼻涕虫
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-6-6
收藏
得分:0 
回复 6楼 DarkHero
不算程序的存储区,还有三个存储区,静态存储区,栈,堆(也就是自由存储区)。
2016-06-06 09:29
快速回复:用const定义常量比用define定义常量有什么好处?
数据加载中...
 
   



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

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