Я пытаюсь понять, как исключения влияют на std::vector
. Точнее, я хочу проверить размер вектора, когда выбрано исключение из памяти.
Я имею в виду что-то вроде этого:
std::vector<int> v;
try {
for(unsigned int i = 0; i < desiredSize; ++i)
v.push_back(i);
}
catch (const std::bad_alloc&) {
cerr << "Out of memory! v.size() = " << v.size() << endl;
exit(EXIT_FAILURE);
}
Является ли это хорошим подходом или мне следует отслеживать размер вектора с независимой переменной?