关于const老调重弹

小新110 2014-06-09 11:15:56
最近面试遇到const,又学习一下。
碰到下面的情况,大家来讨论下。
const char *p = new char[5];
p++; //OK ?
*p = 5; // OK?
memset((void*)p,5,1); // OK?
三处地方,到底行不行,为什么?先答答看,然后上机调试,看看结果到底如何?
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
小新110 2014-06-09
  • 打赏
  • 举报
回复
引用 4 楼 korekara88730 的回复:
[quote=引用 3 楼 cau_eric 的回复:] korekara88730 兄,第三项为什么是可以呢?
p指针所指向内存的内容不能通过指针p修改,但是可以用其他方式修改 [/quote] bing go
aiyaya730 2014-06-09
  • 打赏
  • 举报
回复
引用 3 楼 cau_eric 的回复:
korekara88730 兄,第三项为什么是可以呢?
p指针所指向内存的内容不能通过指针p修改,但是可以用其他方式修改
小新110 2014-06-09
  • 打赏
  • 举报
回复
korekara88730 兄,第三项为什么是可以呢?
aiyaya730 2014-06-09
  • 打赏
  • 举报
回复
引用 1 楼 korekara88730 的回复:
const char *p = new char[5]; p++; //OK ? *p = 5; // OK? memset((void*)p,5,1); // OK? 直接给答案: (1) ok (2) 不ok (3) ok
经上机测试,答对哦耶
aiyaya730 2014-06-09
  • 打赏
  • 举报
回复
const char *p = new char[5]; p++; //OK ? *p = 5; // OK? memset((void*)p,5,1); // OK? 直接给答案: (1) ok (2) 不ok (3) ok
相关推荐

3,880

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告