LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: qazer

教我学C++好吗?

[复制链接]
发表于 2002-12-29 12:17:52 | 显示全部楼层
如果你真的想知道,试一试就行了。
 楼主| 发表于 2002-12-29 13:15:42 | 显示全部楼层
怎末事啊?
发表于 2002-12-29 17:58:34 | 显示全部楼层
#include <stdio.h>

int main()

{
const int a=1;
const int *const &b=&a;
  printf("a is %d\nb is %d \n",a,b);
}
结果:
[tram@~/src/gWuBi-1.0/work]$ gcc test.c
test.c: In function `main':
test.c:7: parse error before '&' token
test.c:8: `b' undeclared (first use in this function)
test.c:8: (Each undeclared identifier is reported only once
test.c:8: for each function it appears in.)
刀锋边的冷漠 该用户已被删除
发表于 2002-12-30 12:55:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2002-12-31 02:04:13 | 显示全部楼层
const int a=1;
const int *const &b=&a;
我就想不通第三个const的作用,没有呢还就是不对

const int *const &b=&a;
这里应改为const int *const b=&a;
第一个const是说不允许修改b指向的值,第二个const是说不允许修改b指向的地址,和起来就表示而你把const定义的常量a的地址赋给b的话,就不能让b可以修改a,而要做到不能修改a的话,就不能把b定义为变量指针,要是定义成const int *b=&a;那么b指向的值是不变的,定义成int * const b=&a;是说b指向的地址不变.
  所以说要想让b指向常量a且不能修改a就必须定义成const int * const b=&a;
 楼主| 发表于 2003-1-2 22:37:21 | 显示全部楼层
厉害,多谢各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表