Используется ли приращение (оператор ++) для чисел с плавающей запятой?

Считается ли "плохим стилем" использование оператора инкремента (++) с плавающей запятой? Он компилируется отлично, но я считаю его неприятным и неприятным.

Вопрос: В каких случаях использование ++ для переменной с плавающей запятой оправдано и лучше, чем + = 1.0f ? Если нет вариантов использования, существует ли уважаемое руководство по стилю C ++, в котором прямо говорится, что ++ на float - зло?

Для float ++ увеличивается не на наименьшее возможное значение, а на 1.0. 1.0f не имеет особого значения (в отличие от целого числа 1). Это может сбить с толку читателя, заставив его подумать, что переменная имеет тип int.

Для float не гарантируется, что оператор ++ изменит аргумент. Например, следующий цикл не бесконечен:

float i, j;
for (i=0.0, j=1.0; i!=j;i=j++);

Следовательно, выполнение ++ сразу после - не гарантирует, что значение не изменится.

22
задан thiton 19 December 2011 в 12:54
поделиться