const在c++中意味着“不可改变”,但在有些情况下我们可以“合法”地绕过编译器去修改一些const数据,比如const_cast就可以剥离一个对象的const属性。然而,我们这样做在多大程度上是“合理”的,却因不同的问题而论,也许一不小心,你就可能掉入陷阱之中。以下问题,我只分析,不说话,请各位看官自己判断。当目标是一个常数这件事源于在网上看到的一篇文章,其来源已经不可考,但大意是:就如下C++程序,其输出是什么:voidfoo(){constinta= 1;int*p=const_cast(&a);*p= 2;printf(" a= %d\n *p= %d\n &a= %x\![](http://www.cnblogs.com/rollenholt/aggbug/1907405.html?type=2)
作者: Rollen Holt 发表于 2010-12-16 00:04 原文链接
评论: 0 查看评论 发表评论
最新新闻:
· 在线比价搜索引擎Shop.com出售 盖茨曾投资(2010-12-16 08:54)
· 邓元鋆离职背后:诺基亚中国腹背受敌(2010-12-16 08:53)
· 央行:超级网银收费将降低(2010-12-16 08:52)
· Android和iPhone平台2010年度最佳软件和游戏榜单出炉(2010-12-16 08:50)
· 京东遭遇出版社集体逼宫 今日恢复原价改返券(2010-12-16 08:48)
网站导航:博客园首页 我的园子 新闻 闪存 小组 博问 知识库
文章来源:http://www.cnblogs.com/rollenholt/articles/1907405.html
posted on 2010-12-16 00:04
Rollen Holt 阅读(27)
评论(0) 编辑 收藏 引用