以图明志

C/C++编程语言

const int* p 表达的是什么意思

const int* p 的语义问题
先来看一行代码:const int* p = new int(10); 问题来了,new出来的地址应该是块堆内存啊,const常量应该保存在内存静态区啊,那指针p指向的那块内存到底是在静态区还是堆里?const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

C/C++编程语言

[专题] 漫谈C指针:const int *pi的语义

注意const修饰的对象
我先来说说const int *pi是什么作用 (当然int const *pi也是一样的,前面我们说过,它们实际是一样的)。看出来了没有,pi的值是可以被修改的。即它可以重新指向另一个地址的,但是,不能通过*pi来修改i2的值。这个规则符合我们前面所讲的逻辑吗?当然符合了。
1 / 1 首页 < Prev 1 Next > 尾页 页码: