Я не вхожу в цикл, используя size_t
, Зачем?
Если я использую int
Я вхожу в цикл, и вывод: 11, 11
int main()
{
int j = 11;
for (size_t i = 11; i > - 1; --j, i -=12)
{
std::cout << i << ", " << j << std::endl;
}
return 0;
}
size_t
обычно это значение без знака. В вашем состоянии для цикла вы говорите i > -1
, поскольку i
тип без знака, -1 преобразуется в этот тип и будет иметь максимальное значение для этого типа.
Благодаря продвижению вы эффективно сравниваете 11 (начальное значение i
) с максимальным значением для size_t
и результат ложен, таким образом, цикл никогда не вводится.
Других решений пока нет …