avisnet's blog

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
集合类的帮助函数:

CompareElements

Indicates whether elements are the same.

CopyElements

Copies elements from one array to another.

DumpElements

Provides stream-oriented diagnostic output.

HashKey

Calculates a hash key.

SerializeElements

Stores or retrieves elements to or from an archive.


使用下面的方法实现CompareElements时,不知道为何CompareElements不会被执行:
template<>
BOOL AFXAPI CompareElements(const CTextBoxButton* pElement1, const CTextBoxButton* pElement2)
{
 ENSURE(pElement1 != NULL && pElement2 != NULL);

 return pElement1->GetID() == pElement2->GetID();
}

需要将CTextBoxButton*类型重新定义:

typedef CTextBoxButton* PCTextBoxButton;

template<>
BOOL AFXAPI CompareElements(const PCTextBoxButton* pElement1, const PCTextBoxButton* pElement2)
{
 ENSURE(pElement1 != NULL && pElement2 != NULL);

 return (*pElement1)->GetID() == (*pElement2)->GetID();
}

CTextBoxButton btn;
btn.SetID(10);
CList<CTextBoxButton*, CTextBoxButton*>   m_lstButton.
POSITION pos = m_lstButton.Find(&btn);

posted on 2006-10-13 23:39  avisnet  阅读(203)  评论(0编辑  收藏  举报