天才bug设计手 2021-03-06 17:11 采纳率: 0%
浏览 104

常指针写入访问权限冲突

#include<iostream>
using namespace std;
int main()
{
	char *const name= "chen";
	cout << name << endl;
	name[3]= 'a';
	cout << name;
}


按照课本上常指针写的,为什么会有写入访问权限异常啊

 

  • 写回答

5条回答 默认 最新

  • 小白小白你好菜 2021-03-06 19:04
    关注

    刚去问了下大神,他说单独的字符串是在常量池中的,他的修改是由系统完成的,你先定义a[]="123",再让name = a,相当于向系统去申请修改,然后系统进行修改。如果直接指向字符串,相当于权限越级,你的修改无效

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站