I have such method
void TetStreamRender::releaseManagerAndGetNextOne(TetFrameManager * manager,
ObjPool<TetFrameManager> * objPool,
SafeQueue<TetFrameManager *> * fifo)
{
...
manager = fifo->dequeue();
}
also method fifo->dequeue() return TetFrameManager *, so I assume that manager should get new pointer returned by dequeue() method. So, I pass to releaseManagerAndGetNextOne() pointer to TetFrameManager and at the end I expect that this pointer get new pointer, but it doesn't.
Actually if I change this method like this
TetFrameManager * TetStreamRender::releaseManagerAndGetNextOne(TetFrameManager * manager,
ObjPool<TetFrameManager> * objPool,
SafeQueue<TetFrameManager *> * fifo)
{
...
return fifo->dequeue();
}
It works fine. But question is why in my first example pointer assignment doesn't work as expected?
fifo->dequeue()to that copy.