Почему вызывается деструктор моего класса, когда я добавляю экземпляры в вектор?

Кажется, что каждый раз, когда я добавляю объект в вектор m_test, вызывается метод деструктора. Я что-то упускаю? Как я могу предотвратить это?

class TEST
{
public:
    TEST();
    ~TEST();
    int * x;
};

TEST::TEST()
{
}

TEST::~TEST()
{
... it is called every time I push_back something to the vector ...
    delete x;
}

    vector<TEST> m_test;
    for (unsigned int i=0; i<5; i++)
    {
        m_test.push_back(TEST());
    }
15
задан Rob Kennedy 17 February 2012 в 16:20
поделиться