В C ++ (в отличие от Java) вы можете создавать объекты либо в стеке, либо в куче. Пример создания этого в стеке, как вы сделали:
vector<SomeClass> theVector;
Этот объект выходит из области видимости, когда кадр стека исчезает (обычно, когда вы возвращаетесь из функции, создавшей объект.
Создание объектов в куче позволяет им пережить функцию, которая их создала, и вы делаете это, выполняя:
vector<SomeClass> *theVectorPtr = new vector<SomeClass>();
Затем вы можете передать указатель theVectorPtr
обратно в вызывающую функцию (или сохранить его глобально, как хотите).
Чтобы избавиться от объекта в куче, вы явно удаляете его:
delete theVectorPtr;
где-то в вашем коде.
Удаление объекта в куче завершает область действия этого объекта, точно так же, как возврат из функции завершает область действия переменных, созданных в стеке.