class CTime
{
public:
CTime(){}
class valueComp
{
public:
bool operator()(const tm &A,const tm &B) const {
if ((A.tm_mday < B.tm_mday) && (A.tm_mon< B.tm_mon)&& (A.tm_year < B.tm_year) &&
(A.tm_hour< B.tm_hour)&& (A.tm_min< B.tm_min) && (A.tm_sec< B.tm_sec))
return true;
return false;
}
};
time_t MakeTime(struct tm *trf) {
if(HashTime.size()>86400)
HashTime.clear();
it =HashTime.find(*trf);
if(it == HashTime.end())
{ m_tDateSeconds= mktime (trf);
cout<<"mktime calculated"<<endl;
HashTime[*trf]= m_tDateSeconds;
return m_tDateSeconds;
}
else
{ cout<<"retrieving from map";
HashTime.find(*trf) ;
}}
private:
std::tr1::unordered_map<struct tm,long int,valueComp> HashTime;
std::tr1::unordered_map<struct tm,long int,valueComp>::iterator it;
time_t m_tDateSeconds;
};
int main()
{return 0;
}
이것은 정렬되지 않은지도가 나를 위해 작동하는지 여부를 확인하기 위해 inorder를 코딩 한 것입니다.unordered_map 사용
코드에 오류가있는 경우 초보자로서 알려주십시오.
그러나이 작품 : 사용법 #include 사용법 #include 사용법 #include 형식 정의 표준 : TR1 :: unordered_map도 <표준 : : 문자열, INT> AgeTable; int main() { AgeTable 연령; ages.insert (std :: make_pair ("Joe", 25)); ages.insert (std :: make_pair ("Sally", 18)); ages.insert (std :: make_pair ("Billy", 11)); AgeTable :: iterator iter; 위한 (ITER ages.begin =()! = ages.end ITER(); ITER ++) { 표준 : << iter-> 제 << "는"<< iter->초 << 표준 : ENDL COUT; } –
** ** 질문에 ** 수정하십시오. 댓글 섹션에서는 꽤 읽을 수 없습니다. 또한 게시물의 코드 형식을 올바르게 지정하는 방법을 알아 보려면 [편집 도움] (http://stackoverflow.com/editing-help)을 참조하십시오. 나는 당신이 전에 게시 한 것을 형식화하기위한 노력을 이미했습니다. –
왜 처음에는 정렬되지 않은지도를 사용하고 있습니까? 그것이하고있는 일과 그것이 보통의 (정렬 된)지도와 다른 점을 당신은 알고 있습니까? 당신의 코드는 당신처럼 보이지 않습니다. –