首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

陈词滥调的const char * ,究竟限制了什么不能被改变

2013-11-01 
老生常谈的const char * ,究竟限制了什么不能被改变代码如下:void Test1(const char * pBuf, int Len){cha

老生常谈的const char * ,究竟限制了什么不能被改变
代码如下:
void Test1(const char * pBuf, int Len)
{
char * p = new char[4];
*(short *)(pBuf+2) = 99;//??
pBuf[2] = 'c';//err
pBuf = p;
return ;
}

void Test2(char * const pBuf, int Len)
{
char * p = new char[4];
*(short *)(pBuf+2) = 44;//??
pBuf[2] = 'b';
pBuf = p;//err
return ;
}

为神马*(short *)(pBuf+2) = 44; 这种写法却可以改变 传入参数的内容、
[解决办法]


表示可读而已!内容不可改!
但是实际可以间接修改!

热点排行