标题:const问题
只看楼主
humy
Rank: 2
等 级:论坛游民
帖 子:69
专家分:18
注 册:2012-7-23
结帖率:92.86%
已结贴  问题点数:15 回复次数:15 
const问题
书上一段:
const int ci=0;
const int *p=&ci;//convert address of non-const to address of a const
后面注释的address of non-const对吗?ci不是const吗?
搜索更多相关主题的帖子: address convert 
2012-08-09 10:14
修雅
Rank: 2
等 级:论坛游民
帖 子:8
专家分:30
注 册:2012-6-28
得分:2 
const int ci=0;//ci的值是const 但是 &ci不是 就是ci的地址是可以变的
const int *p=&ci//这里*p是const 就是指向&ci的地址
当然 如果以后ci的地址变了,*p所指的地址是不会跟&ci变的
2012-08-09 16:30
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:2 
感觉没什么问题呀。你后面的那个注释是编译器的警告吗?
2012-08-09 23:37
humy
Rank: 2
等 级:论坛游民
帖 子:69
专家分:18
注 册:2012-7-23
得分:0 
回复 3楼 pangding
不是。是书上的
2012-08-11 08:20
humy
Rank: 2
等 级:论坛游民
帖 子:69
专家分:18
注 册:2012-7-23
得分:0 
回复 2楼 修雅
const int*说明是指向const int的指针,而原来ci不就是吗
2012-08-11 08:21
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
可能是书上想说非常量的也能这么用吧。
程序代码:
const int ci = 1;
int i = 2;
const int *p;
p = &ci; // OK
p = &i;  // OK
*p = 3;  // error
i = 3;   // OK

反正搞清楚相关的语法就行了,书上说的东西也不一定都是对的。
2012-08-11 11:13
lxqlyld
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:116
专家分:125
注 册:2012-6-18
得分:2 
没有错误啊,你用的是什么编译软件啊,我用的是C++ Builder 6.0 编译通过
2012-08-11 20:41
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:2 
很明显是注释有问题啦,作者一时疏忽。

My life is brilliant
2012-08-11 21:15
水古奇影
Rank: 2
等 级:论坛游民
帖 子:16
专家分:78
注 册:2011-5-16
得分:2 
楼上说的对,注释有错误,*p和ci是const, p和&ci不是const
2012-08-11 21:52
humy
Rank: 2
等 级:论坛游民
帖 子:69
专家分:18
注 册:2012-7-23
得分:0 
谢谢大家了。。。
2012-08-11 22:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374965-1-1.html




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

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