本文整理汇总了C++中boost::weak_ptr::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ weak_ptr::reset方法的具体用法?C++ weak_ptr::reset怎么用?C++ weak_ptr::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost::weak_ptr
的用法示例。
在下文中一共展示了weak_ptr::reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: weak_shared
void weak_shared(
boost::weak_ptr<FIRST>& first,
boost::shared_ptr<SECOND>& second
){
const char * testfile = boost::archive::tmpnam(NULL);
BOOST_REQUIRE(NULL != testfile);
int firstm = first.lock()->m_x;
int secondm = second->m_x;
save2(testfile, first, second);
// Clear the pointers, thereby destroying the objects they contain
first.reset();
second.reset();
load2(testfile, first, second);
// Check data member
BOOST_CHECK(firstm == first.lock()->m_x);
BOOST_CHECK(secondm == second->m_x);
// Check pointer to vtable
BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(first.lock()));
BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(second));
std::remove(testfile);
}
示例2: save_and_load3
void save_and_load3(
boost::shared_ptr<A>& first,
boost::shared_ptr<A>& second,
boost::weak_ptr<A>& third
){
const char * testfile = boost::archive::tmpnam(NULL);
BOOST_REQUIRE(NULL != testfile);
save3(testfile, first, second, third);
// Clear the pointers, thereby destroying the objects they contain
first.reset();
second.reset();
third.reset();
load3(testfile, first, second, third);
BOOST_CHECK(first == second);
BOOST_CHECK(first == third.lock());
std::remove(testfile);
}