【发布时间】:2019-12-06 22:47:51
【问题描述】:
标题说明了一切。我怎样才能改变常数的值? 这与更改常量数组的索引 X 处的元素的值相同吗?
#include<iostream>
int main(){
const char* y = "original";
auto *p = &y;
*p = "modified";
std::cout<<y<<"\n";
//outputs modified
system("pause");
return 0;
}
【问题讨论】:
-
你正在改变
y指向的内容。 -
现在试试
y[0] = 'x';。 -
嗯我明白了,但是在一天结束时,一个常量字符串/字符是否有意义了?
-
是的,但是常量指针和指向常量数据的指针是有区别的。顺便说一句,修改指针(使其指向不同的位置)和修改它指向的数据也有区别。
-
是的,这是有道理的。您不能更改文字,但这不是您的代码所做的,
y不是常量...