Nickita A Startcev
2014-01-31 17:27:56 UTC
Привет, All !
А какие есть проверяльщики кода, которые аккуратно ругнутся на потерю точности
при присваиваниях или при неявном приведении 'простых' типов в выражениях?
gcc/g++ при самых жестких настройках проверяет только сравнение знакового с
беззнаковым.
примеры плохого кода:
char foo( int a, int b)
{
return a+b; // int урезается до char
}
unsigned int bar1(int a, int b)
{
return a+b; // знаковое урезается до беззнакового. при отрицательном будут
проблемы
}
long long bar3(int a, int b)
{
return a*b; // возможна потеря точности
}
. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... вендоры игрушек и прочие NVidia съели его мозг
А какие есть проверяльщики кода, которые аккуратно ругнутся на потерю точности
при присваиваниях или при неявном приведении 'простых' типов в выражениях?
gcc/g++ при самых жестких настройках проверяет только сравнение знакового с
беззнаковым.
примеры плохого кода:
char foo( int a, int b)
{
return a+b; // int урезается до char
}
unsigned int bar1(int a, int b)
{
return a+b; // знаковое урезается до беззнакового. при отрицательном будут
проблемы
}
long long bar3(int a, int b)
{
return a*b; // возможна потеря точности
}
. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... вендоры игрушек и прочие NVidia съели его мозг