Я получаю предупреждение о несоответствии подписанного/неподписанного кода для следующего кода:
auto n = a.size();
for (auto i = 0; i < n; i++) {
}
Проблема состоит в том, что, назначая 0 на i
, она становится 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
для этой же цели.