头文件里:
typedef std::list<OneStruct*> ListInfo;
ListInfo m_list;
OneStruct* m_pTemp;CPP里:
void A::Get(void)
{
ListInfo::iterator it = m_list.begin();
while (it != m_list.end())
{
OneStruct* pStruct = *it;
if (pStruct)
{
m_pTemp = pStruct;
}
it++;
}
}void A::Set(void)
{
if (m_pTemp)
{
.........;
}
}在Set中,m_pTemp一直为空,应该是和函数生命周期有关,请问如何能存住呢?
//赋值
ListInfo.push_back(p);
再调用Get()
m_pTemp = new OneStruct(pStruct);
这样行不?
开始this指针的值比如是0x12312310
发送消息之后,到Set里,this指针就变成0x12312320啦
即使初始化一个n=5;到那里也会变成-89....就是没初始化的那个数字