Как я могу получить адрес 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 ответ

Решение

Использование get() функция-член:

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

Подробнее здесь

Другие вопросы по тегам