C ++ eliminar vector, objetos, memoria libre

Estoy totalmente confundido con respecto a la eliminación de cosas en C ++ Si declaro una matriz de objetos y si uso laclear() función. ¿Puedo estar seguro de que la memoria fue liberada?

Por ejemplo :

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

tempVector.pushback(obj1);
tempVector.pushback(obj2);
</code>

¿Puedo llamar de forma segura para liberar toda la memoria? ¿O necesito iterar para eliminar uno por uno?

<code>tempVector.clear();
</code>

Si este escenario se cambia a un puntero de objetos, ¿la respuesta será la misma que la anterior?

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta