Вызывает ли STL Vector деструктор невыделенного объекта?

Следующий код показывает результат, не ожидаемый:

class test
{
    public:
    test()
    {
        std::cout << "Created" << (long)this << std::endl;
    }
    ~test()
    {
        std::cout << "Destroyed" << (long)this << std::endl;
    }
};

int main(int argc, char** argv)
{
    std::vector<test> v;
    test t;
    v.push_back(t);

    return EXIT_SUCCESS;
}

При выполнении это показывает:

Created-1077942161
Destroyed-1077942161
Destroyed674242816

Я думаю, что второй "Уничтоженный" выход не должен быть там. Когда я не использую вектор, результатом будет одна Созданная и одна Разрушенная линия, как и ожидалось. Это нормальное поведение?

(Это скомпилировано с GCC в системе FreeBSD)

Ответы на вопрос(3)

Ваш ответ на вопрос