注册 登录
编程论坛 C++教室

有关const的一个问题。。请指教

janevans 发布于 2008-06-01 22:57, 828 次点击
const int ** ptr;
int ** const ptr;

上面两个有什么区别啊?
谢谢
4 回复
#2
mqh213642008-06-03 11:02
const int ** ptr;
const 在int 前面,说明int是const,就是ptr指向的整数是不能被改变的;

int ** const ptr;
const在ptr前面, 说明ptr是const, 也就是ptr的值是不能改变的,但是它指向的整数的值是可以改变的。
#3
aipb20072008-06-03 11:21
[bo][un]mqh21364[/un] 在 2008-6-3 11:02 的发言:[/bo]

const int ** ptr;
const 在int 前面,说明int是const,就是ptr指向的整数是不能被改变的;

int ** const ptr;
const在ptr前面, 说明ptr是const, 也就是ptr的值是不能改变的,但是它指向的整数的值是可以改变 ...


回答基本正确,纠正一点。
ptr指向的不是整数,而是一个指向整数的指针,o(∩_∩)o...
#4
mqh213642008-06-03 11:22
呵呵
#5
xutianming2008-06-04 15:16
第一个是指向常指针的常指针 第二个是指向常指针的指针
1