c++_const用法2

int i;
const int *p; int *const p=&i;const int *const p=&i三者有何区别?
2008-11-7 13:21 最佳答案
1. const int *p——const用来修饰int *, *p的内容不可变,
比如你定义了const int *p=5;
那么你再对p的内容赋值就是不合法的:*p=6; // no!


2. int *const p=&i;——const用来修饰 p, 指针p的地址不可变,
int i=0;
int j;
int *const p=&i;
p=&j; // no!
i=1; // ok!


3.const int *const p=&i——限制了指针指向的内容和指向的地


const int *p  和int const *p一样
const int*p 和int* const p  //区别在于const出现在星号的哪一边

你可能感兴趣的:(c++_const用法2)