在 MFC(Microsoft Foundation Classes)中,CStringList 是用于处理字符串链表的类。CStringList 的构造函数不是公共的,而是由其他类(如 CObList,CPtrList)继承并实现。这是因为 CStringList 实际上是 CObject 类的子类,通过 CObject 的链表实现,而不是直接在 CStringList 中实现。

通常,你不直接创建 CStringList 类的对象,而是通过 CList 或其他相关类来创建和操作链表。以下是一个示例,展示了如何使用 CList 类来创建并操作字符串链表:
#include <afxtempl.h> // 包含 MFC 模板类的头文件

// ...

CList<CString, CString&> stringList;

// 添加元素到链表
stringList.AddTail("Element 1");
stringList.AddTail("Element 2");
stringList.AddTail("Element 3");

// 遍历链表
POSITION pos = stringList.GetHeadPosition();
while (pos != NULL) {
    CString strElement = stringList.GetNext(pos);
    TRACE("Element: %s\n", strElement);
}

在上述示例中,我们使用 CList 模板类创建了一个存储字符串的链表。使用 AddTail 方法向链表添加元素,并使用 GetHeadPosition 和 GetNext 方法遍历链表中的元素。

需要注意的是,CStringList 类的构造函数不是我们直接调用的,而是由相关的模板类间接调用的。


转载请注明出处:http://www.zyzy.cn/article/detail/22557/MFC/CStringList