Использование auto в циклах c ++
Я получаю предупреждение о несоответствии со знаком / без знака для следующего кода:
auto n = a.size();
for (auto i = 0; i < n; i++) {
}
Проблема в том, что, присваивая 0i
это становитсяint
скорее, чемsize_t
, Итак, что лучше:
size_t n = a.size();
for (size_t i = 0; i < n; i++) {
}
или это:
auto n = a.size();
for (size_t i = 0; i < n; i++) {
}
или, может быть, у вас есть лучшее решение? Мне больше нравится первый, потому что он немного более последовательный, он просто используетsize_t
а не обаsize_t
а такжеauto
для той же цели.