设为首页 加入收藏

TOP

C++ 的 const和const_cast
2015-11-21 01:03:49 来源: 作者: 【 】 浏览:1
Tags:const const_cast

?

今天,逛了逛 问答社区,

C++ 里,看到有人问关于 const_cast 的东西,

正好在 < > 中,也讲到过这方面的东西。

翻了翻书,上网搜了搜,

发现还挺好玩....

?

题主问的是如何将一个设定为 const 的 double 类型数组 在运行期间 对它再解除const,然后改动数组内容。

?

> 首先,明确一下,

对于 const_cast

这个东西,只是对于指针 和 引用 解const,对于变量,就会出现问题。

比如,看下面这段代码:

?

const int a=789 ;
int &b = const_cast
  
   (a);
int *c = const_cast
   
    (&a); cout<
    
      运行一下:
     

?

\

?

很好玩吧~。~

?

?

?

> 然后,对于这个问题,

因为是数组,数组属于指针的范畴了,

我就试着写了写,

发现,

通过一个中间变量,还是可以改动原来的const的内容的:

?

const double arr[3] = {1.2,3.3,4.5};
int i;
for(i=0;i<3;++i)
	cout<
      
       (arr[0]);

for(i=0;i<3;++i)
	cout<
       
         结果还是可以的
        

?

\

?

OK,就是这样,

挺有意思的东东~。~

?

?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇The 12th Zhejiang Provincial Co.. 下一篇HDU 2066 一个人的旅行(最短路)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: