|
안녕하세요 만해입니다
저도 AnsiString 에 대해서 여쭤 보고 싶은데 있는데요
제가 자게에 올려 놓은 소스의
구조체 일부를 보면
string을 사용한게 있습니다.
이게 원래는 AnsiString 으로 정의 되어 있던 부분인데요
AnsiString을 사용하게 되니
동적 생성후 Map에 사용되게 되어 있는데
AnsiString으로 된 변수에
몇몇 문장을 입력 한후
Map에 저장되어있는 정보를 지울때 약간의 문제가 생기는것 같네요
typedef struct _TObjectType
{
string Url;
string Type;
unsigned short TagType;
unsigned long Size;
bool IsConnect;
unsigned int Count;
unsigned int StatusCode;
unsigned int Depth;
unsigned int Id;
}TObjectType;
이 자료형인데
map<string,TObjectType*,less<string> > TUrlMap;//내부링크
TUrlMap[CUrl] = new TObjectType;//TUrlMap[CUrl];
TUrlMap[CUrl]->Type.assign(Cs.AContent_Type);
TUrlMap[CUrl]->Size = Cs.AContent_Size;
TUrlMap[CUrl]->StatusCode = Cs.AStatus_Code;
TUrlMap[CUrl]->IsConnect = true;
TUrlMap[CUrl]->Url = CUrl;
TUrlMap[CUrl]->Id = 0;
TUrlMap[CUrl]->Count = 0;
TUrlMap[CUrl]->Depth = 0;
생성시엔 이런식으로 입력 되고요
삭제시엔 이렇게 지웁니다.
map<string,TObjectType*,less<string> >::iterator MapItr;
for ( MapItr = TUrlMap.begin() ; MapItr != TUrlMap.end() ; MapItr++ )
{
TObjectType * Temp = MapItr->second;
delete Temp;
}
TUrlMap.erase(TUrlMap.begin(), TUrlMap.end());
혹시 뭐가 잘못 된거 있나요?
고수님들의 조언 바랍니다.
ps. 페페루님~ 혹 시간 나시면 제가 자게에 올려 놓은거 좀 봐주시면 안될까요? 흑흑~
|