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