void weakptr_study() { { std::shared_ptr<int> kid2(new int(5)); } WDummy dd; std::shared_ptr<WDummy> spr2 = dd.process(); std::shared_ptr<int> kid(new int(10)); std::weak_ptr<int> ptr1 = kid; //std::cout << ptr1.use_count() << std::endl; std::weak_ptr<int> ptr2; { std::shared_ptr<int> kid2(new int(10)); ptr2 = kid2; } if (ptr1.expired()) { std::cout << "ptr1 dead" << std::endl; } if (ptr2.expired()) { std::cout << "ptr2 dead" << std::endl; } // convert std::shared_ptr<int> sptr2(ptr2); //std::shared_ptr<int> sptr4 = ptr2; auto sptr1 = ptr2.lock(); std::shared_ptr<int> sptr3 = ptr2.lock(); }
imm_ws() { register nodep wtop; cursor = work_node(curr_workspace); dec_block( N_IMM_BLOCK ); cursor = realcp( kid2((wtop = work_node(curr_workspace))) ); work_scursor(curr_workspace) = wtop; work_debug(curr_workspace) = 0; #ifdef GEM do_gdupdate(); #endif prep_r_window(); /* setup for debug */ }