线程中vector调用出错

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:47:21
我在自己创建的线程中为一个类中的vector对象进行赋值,但调试的时候提示内存泄露,为了将线程中得到的数据写入到这个vector对象中该如何操作,还是我的使用出错,望大家帮忙.
在类成员函数的赋值没问题,下面是有关的代码:
class CMyAPPDoc : public CDocument
{....
vector <string> m_vNetpkt;
....}
bool CMyAPPDoc::OnAddOnePkt()//添加成功返回FALSE
{.. string Pkttem = "Newpkt";
m_vPkt.push_back(Pkttem);
..}
在线程中获得类指针后使用:pDocTemplate->)OnAddOnePkt();
执行m_vPkt.push_back(Pkttem)时出问题,m_vPkt的内存提示为_first:0xadadadad而在类成员函数中调用时内存为0x0000000(多少个位不清楚了)
为了在线程中赋值给vector该怎么办?
程序在VC6.0下调试

在C++中,
vector不是线程安全的,
但是你这么写一般情况下也不会出问题,
因为只是写,
你能否把整个代码发来看一下?

我也遇到过同类问题,我用malloc和free来自己写了问题解决了。不过感觉很不爽。vector的确有时会出问题,尤其是在嵌入式上。

lz你发错版面了
这里是JAVA版