私は、.h ファイルで定義されているクラス クラス demo のオブジェクトを渡す新しいスレッドを作成しています。
int threadentry(void* data)
{
demo* inst=(demo*) data;
cout << "Value of inst "<<hex << &inst<< endl;//value is different from below
}
int main()
{
while(1)
{
demo* inst=new demo();
cout << "Value of inst "<<hex << &inst<< endl; //value is coming different from above
HANDLE threads;
DWORD threadId1;
if ((threads = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadentry,
(void *)inst, 0, &threadId1)) == NULL)
return -1;
delete inst;
system("pause");
}
}
threadentryのデータ変数にアドレスがコピーされているので、値が違うはずだと思います。これらが渡された同じオブジェクトであることを確認するにはどうすればよいですか。