CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  非技术区

explicit copy constructor的用处

楼主xzgyb(老达摩)2005-10-27 16:33:09 在 C/C++ / 非技术区 提问

可能是我孤陋寡闻,呵  
  今天发现explicit   copy   constructor也有一些用处  
  写下来,算是自己的感想吧  
   
  用处就是禁止client端的函数按值传递  
   
  #include   <iostream>  
   
  using   namespace   std;  
   
  class   A   {  
  public:  
          A(   int   i   )   :   i_(   i   )   {}  
          void   func()   const   {   cout   <<   "hello,   A::func\n";}  
          explicit   A(   const   A   &   ){}  
   
  private:  
          int   i_;          
  };  
   
  void   funcByValue(   A   a   )  
  {  
          a.func();  
  }  
   
  void   funcByRef(   const   A   &   a   )  
  {  
          a.func();  
  }  
   
   
  int  
  main()  
  {  
          A   a(   2   );  
           
          funcByValue(   a   );     //   这句错误  
           
          funcByRef(   a   );         //   这句可以  
           
          system(   "pause"   );  
   
          return   0;  
  }  
  另外对于这种copy   constructor,  
  声明初始化时也只能   A   b(   a   );而不能用   A   b   =   a;  
   
  问题点数:20、回复次数:7Top

1 楼xlsue(小林)回复于 2005-10-27 17:13:30 得分 20

以前好像在哪里有说过,的确可以这样用.Top

2 楼xzgyb(老达摩)回复于 2005-10-27 17:18:42 得分 0

xlsue:  
  我还真没看过  
  今天看<<effective   c++>>  
  上面提到explicit   copy   constructor了  
  才想到Top

3 楼xlsue(小林)回复于 2005-10-27 17:24:46 得分 0

对了,好像就是<<Effective   c++>>上的.你看书太多了,记不太清楚了.是可以这样用的.Top

4 楼xlsue(小林)回复于 2005-10-27 17:25:28 得分 0

打错了,是我看书太多了:)Top

5 楼xzgyb(老达摩)回复于 2005-10-27 17:28:36 得分 0

xlsue(小林饼子):  
  呵呵,那可能是  
  我也忘了Top

6 楼xlsue(小林)回复于 2005-10-27 17:30:25 得分 0

haha,快揭帖...->给分...:)Top

7 楼xzgyb(老达摩)回复于 2005-10-28 08:48:59 得分 0

给分leTop

相关问题

  • copy constructor?
  • copy constructor?
  • explicit constructor 和 explicit copy constructor 干什么的?两个都必须添加么?跟不加explicit的什么关系?
  • 求写copy constructor
  • 关于no copy constructor的问题
  • OnNotify是何用处?
  • 什么时候应使用copy constructor?
  • 关于template copy constructor的问题。
  • stack的copy constructor应该怎么写?
  • CALLBACK 函数的用处

关键词

  • 用处
  • explicit copy
  • constructor
  • 看书太多
  • 可能是我

得分解答快速导航

  • 帖主:xzgyb
  • xlsue

相关链接

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

广告也精彩

反馈

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