C + + excluir vetor, objetos, memória livre

Eu estou totalmente confuso com relação à exclusão de coisas em C ++ Se eu declarar uma matriz de objetos e se eu usar oclear() função. Posso ter certeza de que a memória foi liberada?

Por exemplo :

tempObject obj1;
tempObject obj2;
vector<tempObject> tempVector;

tempVector.pushback(obj1);
tempVector.pushback(obj2);

Posso ligar com segurança para liberar toda a memória? Ou eu preciso fazer uma iteração para excluir um por um?

tempVector.clear();

Se este cenário for alterado para um ponteiro de objetos, a resposta será a mesma que acima?

vector<tempObject> *tempVector;
//push objects....
tempVector->clear();