我正在尝试实现this answer来通过boost :: lockfree :: queues传递字符串。
它看起来确实有效,但是当我尝试在将指针弹出队列后尝试输出指针时,它只会读出一个内存地址。
我到处寻找解决方案,但奇怪的是我无法找到解决方案。
如何获取下面ptr
的内容?
boost::lockfree::queue<std::string*> queue(some_size);
// push on via new
queue.push(new std::string("blah"));
// pop and delete
std::string* ptr;
if(queue.pop(ptr))
{
std::cout << ptr << std::endl;
delete ptr;
}
结果:
0x7f41fc000950
答案 0 :(得分:1)
要获取字符串的内容,只需取消引用指针即可。 ; - )
std::cout << *ptr << std::endl;