我怎样才能得到scoped_ptr的地址?

How can I get the address of 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

这是不正确的。

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

使用get()成员函数:

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

更多详情here