如何获取字符串指针的值?

时间:2014-02-23 21:23:59

标签: c++ string pointers queue lock-free

我正在尝试实现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

1 个答案:

答案 0 :(得分:1)

要获取字符串的内容,只需取消引用指针即可。 ; - )

std::cout << *ptr << std::endl;