如何获取scoped_ptr的地址?

时间:2016-05-28 16:44:16

标签: c++ smart-pointers memory-address scoped-ptr

我正在研究智能指针,特别是scoped_ptr。 我读到了有关运算符*->的内容。 我试着运行这段代码:

int main(){
  boost::scoped_ptr<int>number(new int);
  *number = 432;
  std::cout<<"Value: "<<*number <<std::endl<< " Adress: "<< number <<std::endl;
  return 0;
}

结果是:

Value: 432 Adress: 1

这是不正确的。

我如何使用->运算符来获取正确的地址?

1 个答案:

答案 0 :(得分:3)

使用get()成员函数:

boost::scoped_ptr<int>number(new int);
*number = 432;
std::cout<<"Value: "<<*number <<std::endl<< " Adress: "<< number.get() <<std::endl;

更多详情here