CArray(type, type)和CArray(type, type&)有何区别??(解决马上给分) CArray(type, type)和CArray(type, type&)有何区别??顺便说一下含意吧。那到底还有没有CArray(type&, type)和CArray(type1, type2)[其中type1和type2是不同的类型,比如CArray(int, double)那到底是什么含意?]...... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这两种定义方式都可以,前一种定义方式在操作保存在数组中的对象时,其参数用的也是对象,后一种用的是引用;不同类型的定义是可以的,不过你得在数据组类型type1中定义相应的操作,否则,没有意义。推存使用相同类型 CArray(type, type)和CArray(type, type&)能再说得明白一点吗,举一个例子好吗 CArray<int,int&>m_array说明m_array类型是intm_array里面的数据是int&, 是int的引用类型CArray<int,int>里m_arraym_array里面的数据是int型,在上面的例子中看不出引用的好处,但是如果是:class Picture{....}CArray<Picture,Picture&>m_array就有它的好处了因为引用用的是类的别名,当把数据保存到数组链表时用的是数据的副本很安全,实用!如果用的是CArray<Picture,Picture>时,每保存一个Picture类时,都调用其拷贝构造函数,那就麻烦了,具体的可以找找书看看,所以都使用引用类型,主要是为了安全! 好的。那么有没有可能有CArray<Picture&, Picture&>的,若有,什么意思 CArray定义:template < class TYPE, class ARG_TYPE = const TYPE& >class CArray : public CObject注意看SetAtvoid SetAt(INT_PTR nIndex,ARG_TYPE newElement);用的是ARG_TYPE,这样的话,如果你的ARG_TYPE不是引用就会像9headsnake(楚海云) 所说的,拷贝一次,较低了执行效率,强烈推荐使用stl 帮忙看个错误 TransmitFile要传送二进制或文本文件,服务端和客户端分别怎么写? 请问在vc6.0下写的dll能在c#中可以用,需要注意什么 我做的atl_com在网页里面为什么不能正确显示中文呢? 请问怎么侦测屏幕的旋转? 请问大侠一个关于位图的问题??? 请各位帮帮忙 谁知道柱面,磁头,扇区这几个概念的确切含义 最近老是看到这几个名词UML、ROSE、CASE它们到底是什么,它们之间什么关系?那为大虾可以帮小弟解惑?? OpenGL绘制光标与坐标轴 7月17日 从上海天钥桥路30#的微软中心给我发来一个包裹 小问题,大难点,欢迎高手进入讨论!!
说明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类时,都调用其拷贝构造函数,那就麻烦了,具体的可以找找书看看,所以都使用引用类型,主要是为了安全!
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