首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

局部变量生命期这种有关问题中怎么解决呢

2012-08-14 
局部变量生命期这种问题中如何解决呢?线程函数中{string strUserIditer2-second-UserId//strUserId是

局部变量生命期这种问题中如何解决呢?
线程函数中
{

string strUserId=iter2->second->UserId; //strUserId 是局部变量
char const* p=strUserId.c_str();
char * p2=const_cast<char*>(p);
PostMessage(WM_USER_LOGIN_OFF,0, (LPARAM)p2);

}


LRESULT xxx::OnMessage(WPARAM wp, LPARAM lp)
{

char* p=(char*)lp;
string str(p);
.....................

}


 线程中有个局部变量, 局部变量的地址发送给了主线程

会不会有什么问题?

如果有问题,如何解决呢?

2. 假设,没有线程函数,都是在主线程中。 又会不会有问题呢





[解决办法]
不行,同一个线程也不行,用SendMessage
[解决办法]
保存到静态变量或者成员变量中

热点排行