Melhor resposta
std :: nearbyint : arredonda o flutuante argumento -point arg
para um valor inteiro no formato de ponto flutuante, usando o modo de arredondamento atual .
std :: round : Calcula o valor inteiro mais próximo para arg
(no formato de ponto flutuante) , arredondando os casos intermediários para longe de zero, independentemente do modo de arredondamento atual.
Portanto, há a diferença. Se você quiser usar um modo de arredondamento diferente do que std :: round usa, use std :: nearbyint (ou std :: rint , eles são quase idênticos) .
Observe que mesmo se você escolher FE\_TONEAREST, haverá uma diferença: std :: nearbyint / std :: rint vai arredondar os casos pela metade para pares, enquanto std :: arredondar para longe de zero.