CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

是不是编译器不同引起的不同的结果啊

楼主iseealv(唯笑堡堡主)2006-05-04 16:32:19 在 C/C++ / C++ 语言 提问

BS上抄的例子:  
  class   Date  
  {  
          bool   cache_valid;  
          std::string   cache;  
          void   compute_cache_value();  
  public:  
          std::string   string_rep()   const;  
          Date();  
          virtual   ~Date();  
  };  
  Date::Date(){       cache_valid=false;}//这个我自己赋的值  
   
  Date::~Date(){}  
  void   Date::compute_cache_value(){  
          cache="hello";  
  }  
  std::string   Date::string_rep()   const  
  {  
          if(cache_valid==false)  
          {  
                  Date   *th=const_cast<Date   *>(this);//强制去掉const  
                  th->compute_cache_value();  
                  th->cache_valid=true;  
          }  
          return   cache;  
  }  
  /*********************/  
          Date   d1;  
          const   Date   d2;  
          std::string   s1=d1.string_rep();  
          std::string   s2=d2.string_rep();//书上说这句话会出错,我怎么可以运行的,  
                          是不是因为编译器的问题啊 问题点数:20、回复次数:8Top

1 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-05-04 17:02:22 得分 0

应该是了Top

2 楼MagicCarmack(MagiC++)回复于 2006-05-04 19:36:54 得分 0

LZ真是爱学习之人啦  
   
  偶看BS那书N久了,从来都米实验过!  
   
  感觉大牛就是大牛,很多技术在他眼里也就是再平常、再普通的事!  
  很难看懂Top

3 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2006-05-04 19:51:31 得分 5

汗~  
   
  我这里编译通过,运行成功  
  Top

4 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2006-05-04 19:52:27 得分 0

难道BS错了??  
   
   
  Top

5 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2006-05-04 19:52:54 得分 0

哪位高手出来详细解说一下??  
  Top

6 楼qhgary(Gary)回复于 2006-05-05 01:10:44 得分 15

你既然已经用const_cast去掉了const属性,为什么不能运行呢?  
   
  如果你看的英文原版,请仔细研究一下是否是理解错了意思?  
  如果是看得翻译版,可能翻译的人弄反了意思。实践是检验真理的唯一标准。Top

7 楼iseealv(唯笑堡堡主)回复于 2006-05-05 09:55:23 得分 0

我手头没有英文版。但是翻译的里面说:当被应用的对象原本就是个const的时候,就会出现误定义行为。Top

8 楼iseealv(唯笑堡堡主)回复于 2006-05-05 09:56:03 得分 0

d2就是const,所以应该出现无定义行为的Top

相关问题

关键词

得分解答快速导航

  • 帖主:iseealv
  • sankt
  • qhgary

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo