add ZtCArray.H
This commit is contained in:
@ -32,7 +32,7 @@ namespace ZNsMain
|
||||
{
|
||||
private: mutable
|
||||
Type* mp_Data ; mutable
|
||||
TSize ml_ElePos; // *mp_Data 가 배열에서 차지하는 위치
|
||||
TSize ml_ElePos; // *mp_Data 가 배열에서 차지하는 위치
|
||||
ZCArray* mp_CArray;
|
||||
public:
|
||||
|
||||
@ -100,8 +100,8 @@ namespace ZNsMain
|
||||
TypeSize ml_UseSize ;
|
||||
TypeSize ml_AddSize ;
|
||||
|
||||
/* TSize ml_AddSize 는 추가 메모리를 지정. 한 개의 원소가 삽입되서
|
||||
재할당해야 할 경우, ml_AddSize 개 만큼을 미리 할당한다.
|
||||
/* TSize ml_AddSize 는 추가 메모리를 지정. 한 개의 원소가 삽입되서
|
||||
재할당해야 할 경우, ml_AddSize 개 만큼을 미리 할당한다.
|
||||
|
||||
protected:*/
|
||||
public :
|
||||
@ -357,7 +357,7 @@ namespace ZNsMain
|
||||
|
||||
Type& AddHead()
|
||||
{
|
||||
// 앞에 빈 원소를 삽입하고 그 원소를 반환한다.
|
||||
// 앞에 빈 원소를 삽입하고 그 원소를 반환한다.
|
||||
|
||||
ReAlloc((ml_UseSize++)+1);
|
||||
|
||||
@ -379,7 +379,7 @@ namespace ZNsMain
|
||||
|
||||
Type& AddTail()
|
||||
{
|
||||
// 끝에 빈 원소를 삽입하고 그 원소를 반환한다.
|
||||
// 끝에 빈 원소를 삽입하고 그 원소를 반환한다.
|
||||
|
||||
ReAlloc((ml_UseSize++)+1); return mp_TypeArr[ml_UseSize-1];
|
||||
}/*
|
||||
@ -426,8 +426,8 @@ namespace ZNsMain
|
||||
ZNsMain::CTypeData_T<TFunctor>::
|
||||
GetObjRef(AO_Functor)(*VP_TypeArr); ++VP_TypeArr;
|
||||
|
||||
/* 위 코드로 인해서, AO_Functor 이 함수일 때 뿐이 아니라,
|
||||
operator() 연산자를 가진 object 포인터일 때도 사용할 수 있게 되었다. */
|
||||
/* 위 코드로 인해서, AO_Functor 이 함수일 때 뿐이 아니라,
|
||||
operator() 연산자를 가진 object 포인터일 때도 사용할 수 있게 되었다. */
|
||||
}/*
|
||||
__for0(TypeSize, i, ml_UseSize)*/
|
||||
}/*
|
||||
@ -438,19 +438,19 @@ namespace ZNsMain
|
||||
{
|
||||
/*/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면,
|
||||
■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면,
|
||||
|
||||
IterElement<myFunctor, myClass&>(myFunctor_obj, myClass_Obj);
|
||||
|
||||
의 형태로 호출할 게 아니라, ZNsMain::ZtCObjectPtr<> 을 사용하여,
|
||||
의 형태로 호출할 게 아니라, ZNsMain::ZtCObjectPtr<> 을 사용하여,
|
||||
|
||||
myClass myClass_Obj; ZNsMain::ZtCObjectPtr<myClass> myCObjPtr(myClass_Obj);
|
||||
|
||||
나
|
||||
나
|
||||
|
||||
IterElement(myFunctor_obj, ZNsMain::ZtCObjectPtr<myClass>(myClass_Obj));
|
||||
|
||||
형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00
|
||||
형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@ -474,19 +474,19 @@ namespace ZNsMain
|
||||
{
|
||||
/*/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면,
|
||||
■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면,
|
||||
|
||||
IterElement<myFunctor, myClass&>(myFunctor_obj, myClass_Obj);
|
||||
|
||||
의 형태로 호출할 게 아니라, ZNsMain::ZtCObjectPtr<> 을 사용하여,
|
||||
의 형태로 호출할 게 아니라, ZNsMain::ZtCObjectPtr<> 을 사용하여,
|
||||
|
||||
myClass myClass_Obj; ZNsMain::ZtCObjectPtr<myClass> myCObjPtr(myClass_Obj);
|
||||
|
||||
나
|
||||
나
|
||||
|
||||
IterElement(myFunctor_obj, ZNsMain::ZtCObjectPtr<myClass>(myClass_Obj));
|
||||
|
||||
형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00
|
||||
형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@ -509,7 +509,7 @@ namespace ZNsMain
|
||||
|
||||
/*///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ IterElement() 예제.
|
||||
■ IterElement() 예제.
|
||||
|
||||
#include <iostream>
|
||||
#include "ZCArray.H"
|
||||
@ -536,23 +536,23 @@ namespace ZNsMain
|
||||
return 0;
|
||||
}
|
||||
|
||||
■ -- 2014-06-16 23:34:00
|
||||
■ -- 2014-06-16 23:34:00
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
|
||||
/*///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ 순차적으로 각 원소를 순회할 수 있는 자료 구조, 즉 리스트나 배열 클래스는
|
||||
■ 순차적으로 각 원소를 순회할 수 있는 자료 구조, 즉 리스트나 배열 클래스는
|
||||
|
||||
MoveNextIter(), MovePrevIter()
|
||||
|
||||
멤버를 갖는 것으로 정했다. stl 의 반복자는 너무 일반화하다보니, 성능 상의
|
||||
제약이 발생한 것 같다.
|
||||
멤버를 갖는 것으로 정했다. stl 의 반복자는 너무 일반화하다보니, 성능 상의
|
||||
제약이 발생한 것 같다.
|
||||
|
||||
-- 2011-06-07 20:25:00
|
||||
|
||||
GetDataInIter() 를 추가했다.
|
||||
GetDataInIter() 를 추가했다.
|
||||
|
||||
-- 2011-06-12 20:42:00
|
||||
|
||||
@ -724,7 +724,7 @@ namespace ZNsMain
|
||||
const Type& GetDataInIter(const IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum) const*/
|
||||
|
||||
|
||||
// 아래 ItD() 함수는 GetDataInIter() 를 짧게 줄인 것이다.
|
||||
// 아래 ItD() 함수는 GetDataInIter() 를 짧게 줄인 것이다.
|
||||
|
||||
Type& ItD(Type* AP_Type ){return GetDataInIter(AP_Type );}
|
||||
Type& ItD(iterator& ARR_CIterator ){return GetDataInIter(ARR_CIterator );}
|
||||
@ -759,9 +759,9 @@ namespace ZNsMain
|
||||
|
||||
/*////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ class ZtCArrayFixed<> 는 배열 메모리를 자체 할당하지 않고,
|
||||
이미 외부에서 new 나 정적으로 선언되어 있는 배열을 사용한다.
|
||||
따라서 ZtCArrayFixed<> 내부에서 임의로 배열 크기를 조절할 수 없다.
|
||||
■ class ZtCArrayFixed<> 는 배열 메모리를 자체 할당하지 않고,
|
||||
이미 외부에서 new 나 정적으로 선언되어 있는 배열을 사용한다.
|
||||
따라서 ZtCArrayFixed<> 내부에서 임의로 배열 크기를 조절할 수 없다.
|
||||
|
||||
-- 2011-08-05 20:40:00
|
||||
|
||||
@ -921,7 +921,7 @@ namespace ZNsMain
|
||||
|
||||
/*////////////////////////////////////////////////////
|
||||
|
||||
위 코드를 아래로 하면 안된다.
|
||||
위 코드를 아래로 하면 안된다.
|
||||
|
||||
void MoveNextIter(const iterator& ARR_CIterator) const
|
||||
{
|
||||
@ -935,7 +935,7 @@ namespace ZNsMain
|
||||
}
|
||||
//void MovePrevIter(const iterator& ARR_CIterator) const
|
||||
|
||||
const iterator 는 Type const * const 이지 Type const * 가 아니다.
|
||||
const iterator 는 Type const * const 이지 Type const * 가 아니다.
|
||||
|
||||
-- 2011-08-05 23:49:00
|
||||
|
Reference in New Issue
Block a user