Если вы просто хотите проверить, находится ли индекс в диапазоне, то просто:
return i < numbers.size();
(Вы также должны либо сравнить с нулем, либо изменить индекс на тип без знака; size_t
- это тип, обычно используемый для индексов массива.)
Если вы хотите попытаться получить доступ к значению и выдать исключение, если индекс выходит за пределы диапазона, используйте at
вместо []
:
try {
do_something_with(numbers.at(i));
return true;
} catch (std::out_of_range const &) {
return false;
}