Program Language/C & C++

[C++] unique_ptr<T> nullptr 비교하기

야곰야곰+책벌레 2022. 4. 12. 16:18
728x90
반응형

unique_ptr <T>는 객체를 비교하거나 nullptr를 비교하는 연산자를 제공해 준다. 이 사실을 알지 못했을 때에는 get()을 사용하여 확인했다.

std::unique_ptr<std::string> str;
if (str.get() == nullptr)
	return;

하지만 unique_ptr <T>는 bool 타입으로 암시적으로 변화될 수 있다. unque_ptr이 nullptr이면 변환 결과는 false가 되고, 그렇지 않으면 true가 된다. 이를 이용하면 unique_ptr<T>객체의 nullptr 체크를 할 수 있다.

std::unique_ptr<std::string> str;
if (str)
	return;

두 unique_ptr<T> 객체를 비교할 때에는. get() 멤버를 호출해서 비교해야 한다. 이 동작은 shared_ptr에도 마찬가지로 동작한다.

728x90
반응형

'Program Language > C & C++' 카테고리의 다른 글

[C++] condition_variable에서 unique_lock  (0) 2022.05.10
[C++] 문자 제거  (0) 2022.04.29
[C++] Algorithms and Lifting  (0) 2022.02.18
[C++] Template Aliases  (0) 2022.02.18
[C++] Function Template  (0) 2022.02.17