나는 std::unique_ptr
가 어떻게 작동 하는지를 알아 내려고, 그 결과로 this 문서를 발견했다.std :: unique_ptr을 선언하는 방법과 그 사용법은 무엇입니까?
#include <utility> //declarations of unique_ptr
using std::unique_ptr;
// default construction
unique_ptr<int> up; //creates an empty object
// initialize with an argument
unique_ptr<int> uptr (new int(3));
double *pd= new double;
unique_ptr<double> uptr2 (pd);
// overloaded * and ->
*uptr2 = 23.5;
unique_ptr<std::string> ups (new std::string("hello"));
int len=ups->size();
무엇을 나에게 혼란 것은이 줄
unique_ptr<int> uptr (new int(3));
우리는
unique_ptr<double> uptr2 (pd);
여기 (괄호 사이) 인수로 정수를 사용하고 있다는 점이다 : 저자는 다음의 예에서 시작
포인터를 인수로 사용했습니다. 어떤 차이가 있습니까?
나에게도 명확하지 않은 점은이 방법으로 선언 된 포인터가 "정상적인"방법으로 선언 된 포인터와 다른 점입니다.
'new int (3)'은 새로운'double'에 대한 포인터 인'pd'와 마찬가지로 새로운'int'에 대한 포인터를 반환합니다. –