Cpp. Как очищается память в функциях?
Я привык, что чисткой памяти занимается GС. А тут надо написать библиотеку на Cpp. От сюда базовые вопросы:
Как себя ведет память в функции:
Например я могу инициализировать переменную с помощью поинтера. Выделить, потом попользоваться и удалить. Догадываюсь, что так выделенная, под переменную, память очиститься:
void TestFunc(){
int *pInt = new int(123);
delete(pInt);
}
А могу это сделать без поинтера:
void TestFunc(){
int vInt = 123;
}
Как повет себя память во втором случае, когда она выделяется? Когда она очищается? Или не очищается вовсе?