Просто используйте автоматическое распределение: объявите его как член, подобный следующему:
class YourClass
{
std::vector<int> myVector;
// ...
};
Массив создается автоматически перед запуском любого вашего конструктора и уничтожается автоматически, когда ваш объект освобождается,не нужно об этом заботиться (также конструктор копирования по умолчанию и оператор присваивания будут корректно обрабатывать копирование автоматически).
Если вместо этого вы хотите создать массив только после определенного условия, вам придется прибегнуть к(умный) указатель и динамическое выделение, но IMHO, это довольно громоздко (особенно потому, что тогда вам нужно правильно понять «большую тройку» - конструктор копирования, оператор присваивания, деструктор);вместо этого вы можете просто выделить вектор с автоматическим размещением и использовать отдельный флаг, чтобы пометить массив как не инициализированный, или просто проверить, равен ли его размер 0.