如果引入了语句,逗号分隔的多行c ++版本有使用它的不利之处吗?

问题描述 投票:1回答:1

我昨天遇到了这一行代码:

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

我不知道我们可以像这样写多行if语句,也找不到任何与此相关的文章。使用它有什么缺点吗?

c++ syntax
1个回答
4
投票

if语句适用于单个语句。通常,您需要使用花括号将多个语句合并为一个语句。

在您的示例中,使用的是comma operator。我想不出这样做的任何充分理由,如果您需要使用多个表达式,请使用花括号。使用逗号更难以阅读,并且会使非c ++专家困惑(甚至有些专家,逗号运算符不是该语言的广泛使用的一部分)。

© www.soinside.com 2019 - 2024. All rights reserved.