Можно ли объявить следующую функцию noexcept
, хотя v.at(idx)
теоретически может генерировать исключение out_of_range
, но практически не из-за проверки границ?
int get_value_or_default(const std::vector<int>& v, size_t idx) noexcept {
if (idx >= v.size()) {
return -1;
}
return v.at(idx);
}