我想用MFC和STL结合编程,但在过程中遇到些问题,见你的网页中有auto_ptr的一些内容,请高手帮忙看看有什么解决的办法,问题描述如下:
第一步: 我用先定义了一个结构MyStruct,然后用STL的deque模板定义了一个类
             typedef deque<MyStruct> MyClass
第二步: 我用MFC 的document-view结构建立了一个程序框架,在MyDoc类中我添加了一个智能指针
class MyDoc
{
        ......
        const auto_ptr <MyClass> m_obj;
        void MyFunc();
        ......
}
在MyDoc类的构造函数中添加了他的初始化
MyDoc::MyDoc() : auto_ptr <MyClass> m_obj(new MyClass)
{...}
 (本写法参考<C++标准程序库>侯捷),
第三步: 我在MyDoc的成员函数MyFunc()中想给m_obj所拥有的对象添加具体内容:
void MyFunc()
{
        ......
        MyStruct newMyStruct;
        m_obj.get()->assign(1, newMyStruct);//出错
        ......
}
但每次程序执行到assign的时候就出错退出,感觉是构造函数中对m_obj的初始化没有起作用.
且从另外一些实验中,我感觉STL的对象只能在一个函数中存活,不知有什么解决的办法.
,有空多交流