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

const的作用

Melina 发布于 2011-11-04 15:22, 1021 次点击
int* const data=new int[n];   在c++中用来申请动态数组空间  请问 用const 和不用 const 的区别~  灰常感谢~~
6 回复
#2
rjsp2011-11-04 16:17
为什么不看书呢?
#3
kuangdang1782011-11-04 17:32
可以用也可以不用,但用的话就是只定义的是指针常量,而非变量,程序只能通过改变数组指向的值来改变数组值,暨不能再对字符数组赋地址值,但可以改变地址指向的对象的值。如果不用const的话,就可以对指针付地址值。
#4
chanbo2011-12-29 19:28
用“const”定义指针可以防止无意中出现的野指针。
#5
CrystalFan2011-12-29 22:33
程序代码:
指向const的指针
①    指向const的指针是指无法通过此指针修改其指向的数据(有可能通过别的方法修改),指针本身可以改变。
②    指向const的指针定义方式有三种: ①const type * p; ②type const * p; ③const type const * p。
③    指向const的指针做加减整数得到的新指针仍然是指向const的指针。【可称为“自以为指向const的指针”】
const指针
①    const指针是指无法改变指针本身,但其指向的数据可被改变。
②    const指针定义方式为:type * const p。
③    const指针做加减整数得到的新指针不再是const指针,而是普通指针。
你这就属于const指针,不能再指向其他地址。
#6
lz10919149992011-12-31 14:24
int* const data=new int[n]; // 现在data只能指向堆里那块内存,对data做任何赋值和副作用运算都非法,也就是说不能当做左值(lvalue)来使用,这样可以防止无意间为data赋值,导致内存泄露的危险。
#7
chenbjin2012-01-05 00:21
楼上的解释很具体··
1