Если мы посмотрим на num_put::put
для showpos
, то будет указано
Для целочисленных типов и типов с плавающей запятой, если задано showpos
, добавляется модификатор +
Так что это заставляет меня поверить, что +
всегда будет использоваться для представления положительного числа
Дополнительно [locale.numpunct] / 2 имеет
integer ::= [sign] units
sign ::= plusminus
plusminus ::= '+' | '-'
То, что я интерпретирую как значение, оно всегда будет использовать -
для отрицательного числа и +
, если оно положительное и showpos
равно true
. Если бы это было не так, я бы ожидал, что это будет похоже на
integer ::= [sign] units
sign ::= plusminus
plusminus ::= plus | minus