【问题标题】:How to get a string pointer's value?如何获取字符串指针的值?
【发布时间】:2014-02-23 21:23:59
【问题描述】:

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

【问题讨论】:

  • 我是傻还是std::cout &lt;&lt; *ptr &lt;&lt; std::endl;就够了?
  • @Gracchus 请注意,我已删除我的评论。这是一个大脑放屁。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2019-09-07
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多