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的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数