2016-01-15 2 views
1

Я понятия не имею о C++, и мне нужно изменить какой-то код на другие языки программирования. Может ли кто-нибудь сказать мне, что означает следующая строка кода?В чем смысл этого оператора C++?

double a = v(i)/2./sigma0/sqrt(_R(i)/P(i)); 

В частности, . / не ясен для меня.

ответ

10

Оператор /, . является частью предыдущей инструкции, то есть 2.0.

1

Пожалуйста, обратите внимание, что:

double a = v(i)/2./sigma0/sqrt(_R(i)/P(i)); 

отличается от:

double a = v(i)/2/sigma0/sqrt(_R(i)/P(i)); 

Как ответили другие ответы, / явно оператор деления. И 2. означает 2.0, добавляя '.', Как указано комментариями в соответствии с исходным ответом, делает его литералом с плавающей запятой.

Более подробную информацию о том, как C++ обрабатывает подобные ситуации, вы можете проверить эти ссылки:

http://www.cplusplus.com/doc/tutorial/operators/

http://www.learncpp.com/cpp-tutorial/44-implicit-type-conversion-coercion/

+0

Там нет "неявное слепок" 'int' здесь. Десятичная точка делает его [литералом с плавающей запятой] (http://en.cppreference.com/w/cpp/language/floating_literal). – Blastfurnace

Смежные вопросы