const_cast只能改变指针的const属性,而不能改变或者去掉本身的const属性。
你的指针指向了"fdsf",修改的还是"fdsf",根据上面的结论,"fdsf"仍然是const的没有改变,所以修改出现运行时错误,编译阶段不会报错。
你的trip指针指向的是常量字符串,不能用trip[1]来修改内存中的值。
如果是
char* trip = new char[5]; //内存在堆区
或者
char trip[]={"fdsf"}; //内存在栈区
这样定义的trip,就可以那样修改。