在C++里,把常量指针(即指向长脸的指针)赋值给非常量指针时,会提示错误,这时候就需要用到const_cast,看下面的两个转换情形:

int j = 0;
const int i = j;
int &k = const_cast<int &>(i);
k++;
printf("%d", i);


string a = "123";
char *p = const_cast<char*>(a.c_str());
strcpy(p, "abc");
printf("%s", a.c_str());


结果是常量被修改了,这是可以去除常量的办法。

相关文章:

  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2021-05-09
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2022-03-01
  • 2021-12-17
  • 2021-09-22
  • 2021-12-26
相关资源
相似解决方案