Понятия "мусор" в С++ нет, так как не должно быть безхозных обьектов, если такие появляются, это называется "утечкой памяти".
В С++ бывает 2 типа использования памяти.
1. На стеке. Такую память по особому выделять не нужно и освобождать тоже.
Пример:
int a = 3;
2. В "куче". В этом случае уже вы отвечаете за выделение и освобождение памяти.
Работает через оператор new. Или функции malloc, calloc и т.п.
int* p = new int;
delete p;