В какой версии c ++ был введен многострочный разделенный запятыми оператор, и есть ли недостатки в его использовании? - PullRequest
1 голос
/ 01 мая 2020

Вчера я наткнулся на эту строку кода:

if(flag[j] == 0) q.push(j), flag[j]=1, val[j]=0, parent[j]=p;

Я не знал, что мы могли бы написать многострочное выражение if, как это, и не смог найти ни одной статьи, связанной с этим. Есть ли минусы его использования?

1 Ответ

4 голосов
/ 01 мая 2020

if заявления относятся к одному утверждению. Обычно вы бы делали несколько операторов в один оператор, используя фигурные скобки.

В вашем примере вместо этого используется оператор запятой . Я не могу придумать какой-либо веской причины для этого, если вам нужно использовать несколько выражений, используйте фигурные скобки. Использование запятых сложнее для чтения и может сбить с толку экспертов, не относящихся к c ++ (и даже некоторых экспертов, оператор запятых не является широко используемой частью языка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...