我怎样才能得到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
我正在研究智能指针,尤其是 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