shared_ptr & any
От: Аноним  
Дата: 28.04.11 06:58
Оценка:
Как выкрутиться? как сделать так что бы отработал деструктор.


class a1
{
public:
    a1(){std::cout << "create object =" << this <<std::endl;};
    ~a1(){std::cout << "destroy object =" << this <<std::endl;};
    void test(){std::cout << "test bject =" << this <<std::endl;};
};


void test1(std::vector<boost::shared_ptr<boost::any>>* pV)
{
    boost::shared_ptr<boost::any> ss;

    for (int i=1; i<=2; i++) 
    {

        ss.reset(new boost::any(new a1()));
        pV->push_back(ss);
    }
}

int _tmain(int argc, _TCHAR* argv[])
{

    std::vector<boost::shared_ptr<boost::any>> v1;

    test1(&v1);


    v1.pop_back();
    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.