Каков правильный способ итерации над вектором в С++?
Рассмотрим эти два фрагмента кода, это прекрасно работает:
for (unsigned i=0; i < polygon.size(); i++) {
sum += polygon[i];
}
и этот:
for (int i=0; i < polygon.size(); i++) {
sum += polygon[i];
}
который генерирует warning: comparison between signed and unsigned integer expressions
.
Я новичок в мире С++, поэтому переменная unsigned
выглядит немного пугающей для меня, и я знаю, что переменные unsigned
могут быть опасны, если они не используются правильно, поэтому - это правильно?