Я не привык использовать инициализацию скобок, но я решил, что начну переносить свой код, так как он был в стандарте с c ++ 11.
Возникает один вопрос: верно ли следующее выражение?
double MyFunction(double a,double b,int c)
{
double dx{(a-b)/c};
//do things to dx
return dx;
}
Я инициализирую double, dx, используя инициализацию фигурной скобки, которая основана на математическом выражении «двойного» вычитания и целочисленного деления. Это просто кажется неправильным, как будто это может привести к неопределенному поведению. Является ли указанная выше функция «правильной» и будет ли она возвращать ожидаемое значение без усечения?
В качестве альтернативы, я мог бы попробовать double dx{(a-b)/double(c)};
или double dx = (a-b)/(double(c));