std::weak_ptr<T>:: reset
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::weak_ptr
| Member functions | ||||
| Modifiers | ||||
|
weak_ptr::reset
|
||||
| Observers | ||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
void
reset
(
)
noexcept
;
|
(C++11부터) | |
관리되는 객체에 대한 참조를 해제합니다. 호출 후 * this 는 어떤 객체도 관리하지 않습니다.
목차 |
매개변수
(없음)
반환값
(없음)
예제
이 코드 실행
#include <iostream> #include <memory> int main() { auto shared = std::make_shared<int>(), shared2 = shared, shared3 = shared2; auto weak = std::weak_ptr<int>{shared}; std::cout << std::boolalpha << "shared.use_count(): " << shared.use_count() << '\n' << "weak.use_count(): " << weak.use_count() << '\n' << "weak.expired(): " << weak.expired() << '\n'; weak.reset(); std::cout << "weak.reset();\n" << "shared.use_count(): " << shared.use_count() << '\n' << "weak.use_count(): " << weak.use_count() << '\n' << "weak.expired(): " << weak.expired() << '\n'; }
출력:
shared.use_count(): 3 weak.use_count(): 3 weak.expired(): false weak.reset(); shared.use_count(): 3 weak.use_count(): 0 weak.expired(): true
참고 항목
|
참조된 객체가 이미 삭제되었는지 확인합니다
(public member function) |