hur.cn - 华软网

 热门搜索

CArray <参数1,参数2>

  作者:未知    来源:网络    更新时间:2011/9/20
  CArray <参数1,参数2>

为什么要指定参数2.。。

我觉得没有必要啊?、


参数1,指定CArray的类型,比如:int,string ,自定义,等等。

参数2:呢?

我见过参数1,参数2,一摸一样的例子,

网上的部分例子,是:

CArray<类名,&类名> myArrAy

 第二个参数到底是什么意思??
---华软 网友回答---
template< class TYPE, class ARG_TYPE > class CArray : public CObject

Parameters

TYPE

Template parameter specifying the type of objects stored in the array. TYPE is a parameter that is returned by CArray.

模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。 

ARG_TYPE

Template parameter specifying the argument type used to access objects stored in the array. Often a reference to TYPE. ARG_TYPE is a parameter that is passed to CArray.

模板参数指定用于访问存储在数组中对象的参数类型。通常是一个对TYPE的参考。ARG_TYPE是一个传递给CArray的参数。 


---华软网友回复---
我见过参数1,参数2,一摸一样的例子,

网上的部分例子,是:

CArray<类名,&类名> myArrAy



我的意思是问:  参数1了,参数2, 一摸一样  

和第二种: CArray<类名,&类名> myArrAy

这两种用法,有什么区别?

别粘贴,复制msdn,我手头有,

但是没有看懂


---华软网友回复---
我都不用这个,vector很好用。


第一种:  CArray<类名,类名> myArrAy1

第二种: CArray<类名,&类名> myArrAy,一般建议用这个,&引用效率较高。



---华软网友回复---
我觉得vector可以替代CArray
---华软网友回复---
ARG_TYPE 指形参类型,比如 CArray::Add(ARG_TYPE newElement)。如果 TYPE 是个很大的类,ARG_TYPE = TYPE 就效率很低了,因为还要在栈上构造 newElement 对象,用引用就快多了。

其实不一定是那两种,还可以是 CArray < CString, LPCTSTR >,只要能用 ARG_TYPE 构造 TYPE 对象就行了,这时就可以很方便地用 Add(_T("hello")) 这样的语句了
---华软网友回复---
不对吧 ,LPTSTR  与CString 互相转换, 第二个参数为 LPTSTR 有什么用呢?

一样啊??、


引用 5 楼 muguadashi 的回复:
ARG_TYPE 指形参类型,比如 CArray::Add(ARG_TYPE newElement)。如果 TYPE 是个很大的类,ARG_TYPE = TYPE 就效率很低了,因为还要在栈上构造 newElement 对象,用引用就快多了。

其实不一定是那两种,还可以是 CArray < CString, LPCTSTR >,只要能用 ARG_TYPE 构造 TYPE 对象就行了,这时就……

---华软网友回复---
你可以定义个类试验下,比如

class A
{
public:
A() { cout << "A()\n"; }
A(int)  { cout << "A(int)\n"; }
A(const A&) { cout << "A(A&)\n"; }
const A& operator=(const A&)  { cout << "A=\n"; return *this; } 
~A() { cout << "~A()\n"; }
};

然后分别定义
CArray<A, A> arr1;
CArray<A, int> arr2;
arr1.Add(0);
cout << "----------------\n";
arr2.Add(0);
---华软网友回复---
http://www.diybl.com/course/3_program/c++/cppsl/200899/141284.html      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。