CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

CArray(type, type)和CArray(type, type&)有何区别??(解决马上给分)

楼主eastrock(东方之石)2002-09-24 10:42:56 在 VC/MFC / 基础类 提问

CArray(type,   type)和CArray(type,   type&)有何区别??顺便说一下含意吧。那到底还有没有CArray(type&,   type)和CArray(type1,   type2)[其中type1和type2是不同的类型,比如CArray(int,   double)那到底是什么含意?]...... 问题点数:100、回复次数:9Top

1 楼johnshao(笨笨)回复于 2002-09-24 10:54:06 得分 20

这两种定义方式都可以,前一种定义方式在操作保存在数组中的对象时,其参数用的也是对象,后一种用的是引用;  
   
  不同类型的定义是可以的,不过你得在数据组类型type1中定义相应的操作,否则,没有意义。推存使用相同类型Top

2 楼roamstar(虛夜飛)回复于 2002-09-24 11:17:56 得分 0

upTop

3 楼eastrock(东方之石)回复于 2002-09-24 11:21:22 得分 0

CArray(type,   type)和CArray(type,   type&)能再说得明白一点吗,举一个例子好吗  
  Top

4 楼9headsnake(楚海云)回复于 2002-09-24 11:44:41 得分 50

CArray<int,int&>m_array  
  说明m_array类型是int  
  m_array里面的数据是int&,   是int的引用类型  
   
  CArray<int,int>里m_array  
  m_array里面的数据是int型,  
   
  在上面的例子中看不出引用的好处,但是如果是:  
  class   Picture  
  {  
  ....  
  }  
  CArray<Picture,Picture&>m_array就有它的好处了  
  因为引用用的是类的别名,当把数据保存到数组链表时用的是数据的副本  
  很安全,实用!  
  如果用的是CArray<Picture,Picture>时,每保存一个Picture类时,都调用其拷贝构造函数,那就麻烦了,具体的可以找找书看看,所以都使用引用类型,主要是为了安全!Top

5 楼eastrock(东方之石)回复于 2002-09-24 13:55:30 得分 0

好的。那么有没有可能有CArray<Picture&,   Picture&>的,若有,什么意思Top

6 楼nuaazwg(潇湘浪客)回复于 2002-09-24 14:18:16 得分 0

真的么,学习。。Top

7 楼ancienttale(voidman)回复于 2002-09-24 14:43:04 得分 30

CArray定义:  
  template   <   class   TYPE,   class   ARG_TYPE   =   const   TYPE&   >  
  class   CArray   :     public   CObject  
   
   
  注意看SetAt  
  void   SetAt(INT_PTR   nIndex,ARG_TYPE   newElement);  
  用的是ARG_TYPE,这样的话,如果你的ARG_TYPE不是引用就会像9headsnake(楚海云)   所说的,拷贝一次,较低了执行效率,  
   
  强烈推荐使用stl  
   
   
  Top

8 楼romanticist(桃花岛主--杭州)回复于 2002-09-24 14:48:17 得分 0

哈   哈Top

9 楼eastrock(东方之石)回复于 2002-09-24 15:22:32 得分 0

发分Top

相关问题

  • *** closesocket(s)与shutdown(s,type)的区别 100分 ***
  • 谁能给我讲解一下 type [,]和type [][]的区别? 275分!
  • CArray<sturct,struct> a 与CArray<struct,struct &> b有什么区别?
  • sql2000中sysobjects表中xtype,type字段什么区别?先来先得分
  • 50分求2者区别
  • CList和CArray在功能上有什么区别???
  • CList 与CArray的主要区别是什么
  • CArray中的成员函数GetAt() 和 ElementAt()有什么区别呀?
  • 关于TYPE和TYPE&的区别?
  • Automation与Createable by type ID有何区别

关键词

  • 数据
  • carray
  • 引用
  • 类型
  • 定义
  • 保存
  • array
  • 使用
  • arg
  • type

得分解答快速导航

  • 帖主:eastrock
  • johnshao
  • 9headsnake
  • ancienttale

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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