Я получаю предупреждение подписал/без знака рассогласования для следующего кода:Использование авто в шлейфы C++
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
для этой же цели. на основе цикл
как насчет 'auto i = 0u'? – jalf
Как насчет использования int, если вам нужен индекс в вашем цикле? Использование индекса без знака может стать очень неприятным. Например. 'i