반응형
unique_ptr은 이동 후 nullptr을 저장하도록 보장됩니까?
이사 후 unique_ptr
보관 이 보장 nullptr
되나요?
std::unique_ptr<int> p1{new int{23}};
std::unique_ptr<int> p2{std::move(p1)};
assert(!p1); // is this always true?
예, nullptr
이후 move
와 비교할 수 있으며 동등하게 비교할 수 있습니다.
§20.8.1 / 4 부터 [unique.ptr]
또한
u
요청시 소유권을 다른 고유 포인터로 전송할 수 있습니다u2
. 이러한 전송이 완료되면 다음 사후 조건이 유지됩니다.
—u2.p
사전 전송 과 같음u.p
,
—u.p
같음nullptr
, 및
...
(멤버 p
는 앞에서 설명한 것처럼 — 고유 포인터는 u
두 번째 개체에 대한 포인터를 저장하는 개체입니다.p
)
예. C ++ 2011 표준 섹션 20.7.1 / 4에서 :
또한 u는 요청에 따라 소유권을 다른 고유 포인터 u2로 전송할 수 있습니다. 이러한 전송이 완료되면 다음 사후 조건이 유지됩니다. [...] [원본 unique_ptr]은 nullptr ...
참고 URL : https://stackoverflow.com/questions/24061767/is-unique-ptr-guaranteed-to-store-nullptr-after-move
반응형
'Program Tip' 카테고리의 다른 글
Directory.GetFiles () 액세스가 거부 된 경우 폴더 / 파일 무시 (0) | 2020.10.30 |
---|---|
.NET 리플렉션의 "비용"은 얼마입니까? (0) | 2020.10.30 |
시계없는 컴퓨터 칩은 어떻게 되었습니까? (0) | 2020.10.30 |
.NET 애플리케이션에 스크립팅 기능 추가 (0) | 2020.10.30 |
주어진 선택기와 일치하는 부모가있는 항목을 제외하는 JQuery 선택기는 무엇입니까? (0) | 2020.10.29 |