weak_ptr::lock
Získá výhradní vlastnictví prostředku.
shared_ptr<Ty> lock() const;
Poznámky
Členské funkce vrátí objekt shared_ptr prázdné, pokud *this vypršela; v opačném případě vrátí hodnotu shared_ptr Class<Ty> objekt, který vlastní prostředek *this odkazuje.
Příklad
// std_tr1__memory__weak_ptr_lock.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
struct deleter
{
void operator()(int *p)
{
delete p;
}
};
int main()
{
std::weak_ptr<int> wp;
{
std::shared_ptr<int> sp(new int(10));
wp = sp;
std::cout << "wp.expired() == " << std::boolalpha
<< wp.expired() << std::endl;
std::cout << "*wp.lock() == " << *wp.lock() << std::endl;
}
// check expired after sp is destroyed
std::cout << "wp.expired() == " << std::boolalpha
<< wp.expired() << std::endl;
std::cout << "(bool)wp.lock() == " << std::boolalpha
<< (bool)wp.lock() << std::endl;
return (0);
}
Požadavky
Záhlaví: <memory>
Obor názvů: std