CTypePtrList
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTypePtrList相关的知识,希望对你有一定的参考价值。
在MFC中有几种公共集合类来处理数组,如:CTypePtrList<CObList,CStudent*> m_list;//CStudent须继承自CObject类
CArray<int,int> m_aArray;//数组,用来存储成员,模板类
CTypePtrArray<CObArray,CStudent&> m_ptrArray;//存储指针模板类
CStringList m_strList;//字符串链表,非模板类
遍历模板类如下:
CStringList m_strList; ... POSITION pos; pos = m_strList.GetHeadPosition(); while(NULL!=pos) { ((CString)m_strList.GetNext(pos)).Empty(); } lines.RemoveAll();
添加数据:
void CEx_View::OnAdd() { UpdateData(); CEx_DocViewDoc * pDoc = GetDocument(); ASSERT_VALID(pDoc); CStudent * pStudent; pStudent = new CStudent(m_nCode,m_sName,m_lAge,m_fScore); pDoc->m_dataList.AddTail(pStudent); pDoc->curPos = pDoc->m_dataList.GetHeadPosition();//记住指针的位置 }
清空数组:
void CEx_DocViewDoc::DeleteContents() { while(!m_dataList.IsEmpty()) delete m_dataList.RemoveHead();//删除数组元素,且同时删除指针对象 CDocment::DeleteContents(); }
获取其中一个元素:
CStudent * pStudent = (CStudent*)pDoc->m_dataList.GetAt(pDoc->curPos);
以上是关于CTypePtrList的主要内容,如果未能解决你的问题,请参考以下文章