C ++ cancella vettore, oggetti, memoria libera

Sono totalmente confuso riguardo alla cancellazione di cose in C ++ Se dichiaro una matrice di oggetti e se uso la funzione clear() . Posso essere sicuro che la memoria sia stata rilasciata?

Per esempio :

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

Posso tranquillamente chiamare chiaro per liberare tutta la memoria? O devo scorrere per cancellare uno per uno?

 tempVector.clear(); 

Se questo scenario è cambiato in un puntatore di oggetti, la risposta sarà la stessa di sopra?

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