c++ 类型转换中失败
const short* const*
跟
short* const*
以及
const short*
都是啥意思呀,亲们
俺声明一个
short* ptr;
该肿么转换?
hcd123
10 years, 2 months ago
Answers
const 是对指针的修饰,表示权限.
如果是常数,那么没有区别。如:
const int a = 3;与int const a = 3是没区别的。
但如果是指针就不同了。
int a = 1;
int
const p = &a;
以上的语句,p指向的地址不能改变,但p指向的地址里面的值是可以改变的。比如
p = 2,这样a肚子里的值1就改变成2了。当然
p的值也变为2。但不能p = &b;试图想把p指向变量b。
/////////////
int b = 4;
int const *p = &b;
这两条语句与上面的相反。p指向的地址可以改变,但它的值不能直接改变。也就是说可以执行p = &a这样的操作,因为这只是改变p指向的地址。不能执行
p = 2这样的操作,因为这样是直接改变值。
引自 http://zhidao.baidu.com/link?url=SEG9mfxLNRlwl7E1C21B7Gc1_z51bGotCrJx6...
深海的杯具
answered 10 years, 2 months ago