您的位置:首页 > 编程语言

讨论关于MFC和STL联合编程的问题

2007-06-02 18:33 525 查看
我想用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的对象只能在一个函数中存活,不知有什么解决的办法.

我的邮箱:zhj_work@hotmail.com,有空多交流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: