Глеб Asked:2021-01-01 01:24:52 +0000 UTC2021-01-01 01:24:52 +0000 UTC 2021-01-01 01:24:52 +0000 UTC 如果在c ++中用括号框起来的简单条件是什么?[关闭] 772 int a=25; bool b=true; if b { cout<<a<<endl; } 给出编译时错误并要求您放置括号(b),尽管条件是“单音节”。如果有条件,a!=1 && a!=2就不会出现关于括号的问题,但条件很简单。 c++ 2 个回答 Voted Best Answer Vlad from Moscow 2021-01-01T01:41:23Z2021-01-01T01:41:23Z 别忘了一句话if可以写成一行。例如, bool b = true; int x = 1; int *p = &x; if ( b ) * p += x; 如果我们去掉括号,我们得到 bool b = true; int x = 1; int *p = &x; if b * p += x; 这是完全不可读的。 唯一可以放在句子中括号外的if是关键字constexpr,随着 C++17 标准的出现,这成为可能。 您可以在我的个人论坛上的 C++17 中的新 if 子句语法 和如何反转 std::string 类对象中的单个单词中 看到此语法的一个简单示例 AR Hovsepyan 2021-01-01T02:55:03Z2021-01-01T02:55:03Z 好吧,你怎么读: if b -- a; //??? 这是 : if(b) --a; if(b--) a; if (b -- a); 程序员的意思是这些表达式中的哪一个?更不用说其他可以出现symbols_operators的表达式了,优先级更高,然后你需要从头开始数这个表达式,然后尝试检查某种条件。只是语言是聪明人写的,指令的语法是完全合理的
别忘了一句话
if可以写成一行。例如,如果我们去掉括号,我们得到
这是完全不可读的。
唯一可以放在句子中括号外的
if是关键字constexpr,随着 C++17 标准的出现,这成为可能。您可以在我的个人论坛上的 C++17 中的新 if 子句语法 和如何反转 std::string 类对象中的单个单词中 看到此语法的一个简单示例
好吧,你怎么读:
这是 :
程序员的意思是这些表达式中的哪一个?更不用说其他可以出现symbols_operators的表达式了,优先级更高,然后你需要从头开始数这个表达式,然后尝试检查某种条件。只是语言是聪明人写的,指令的语法是完全合理的