我想使用函数链表,我知道CObArray非常好用,但我现在不想用MFC,不知有什么其它办法?

解决方案 »

  1.   

    CSimpleArray<xxx> YouArray;
    采用ATL的模板类应该可以吧。其中xxx是类的定义。
    比如
    CSimpleArray<int>YouArray;
    CSimpleArray<CString>YouArray;
    CSimpleArray<CEdit>YouArray;
      

  2.   

    stl没用过,怎么用啊,比如我有一个普通类,我现在想把这个类做为数组成员
      

  3.   

    class CAA{};
    vector<CAA> vaa;
      

  4.   

    #include <vector> //(或<list>,看用什么了)
    using namespace std;//挺简单的,但最好还是先看看书或msdn
      

  5.   

    大家能不能给个实例什么的呀
    现在的问题是这样的,自己做了一个类MyClass,从CObject派生,然后在其它地方使用CObArray MyClass。然后就是对MyClass的一系列操作,如Add,Append,GetAt,SetAt等。
      

  6.   

    象这样 
    class MyClass:public CObject    //这就是我的类
    {
    }然后就是
    class TestClass
    {
         CObArray MyClassStack;
         MyClassStack.Add((CObject *) new MyClassStack(polCurrent));
         //等一系列操作
    }
      

  7.   

    还有就是我用了一下
    list为什么编译器说没有定义呢
    #include <list>list <int> Myint; error C2065: 'list' : undeclared identifier
      

  8.   

    #include <list>
    using namespace std;list <int> Myint;
      

  9.   

    #include <list>
    using namespace std;
    //以上语句加在stdafx.h的包括下面
    list <int*> Myint;//使用list
    list <int*>::iterator iter;
    int *p=new int;
    Myint.insert(Myint.end(),p);
    p=new int;
    Myint.insert(Myint.end(),p);
    //使用
    for(iter=Myint.begin();iter!=Myint.end();iter++)
    {
    int *p1=*iter;
    }
    //删除
    for(iter=Myint.begin();iter!=Myint.end();iter++)
    {
    int *p1=*iter;
    delete p1;
    }
    Myint.clear();
      

  10.   

    但是这样用的话我的CDC之类的东西为什么都不能用了?里面的SelectObject,GetTextExtent等函数都有问题了。
    我的CDC是ATL中的CDC而不是MFC里的。
      

  11.   

    看你有没有使用MFC,不用MFC的话相应的API也可以用
      

  12.   

    还有,他有没有Find 或 Search方法?
      

  13.   

    我没有使用MFC,但是好象如果把STL加进来会跟ATL的某些东西混淆了,ATL里的CDC等对象好象变成了MFC里的CDC。如此解决。